草庐IT

preg_replace_all

全部标签

php - 正则表达式 (preg_match)

这是无效的代码:Hyperlink';}?>我想要的是,如果链接前后有空格,它就不应该显示链接。所以现在它应该什么都不显示。但它仍然显示链接。 最佳答案 这样也可以匹配ID12,因为3不是空格,http:/的/也不是空格。你可以试试:preg_match_all('/^\S*\/videosite\.com\/(\w+)\S*$/i',$matchWith,$matches); 关于php-正则表达式(preg_match),我们在StackOverflow上找到一个类似的问题:

php/html : replace html closing tags with newlines

我在网上抓取html,当我使用phpstrip_tags时,它会将整个html压缩成一行,删除所有结构。我想通过用换行符替换关闭的h、p和br标记来保留结构。pregreplace是最好的解决方案吗?一旦我替换了所有结束标签,我将运行一个strip标签,但这样我就有了一个基本结构。 最佳答案 $str='somehtml';$tags=array('','','','','','','','','','','');$str=str_replace($tags,"\n",$str);//thenstriptags

php - Preg_replace BBCode 链接

我有这个bbcode:[url=http://www.youtube.com/watch?v=h1bIEK1h150]IfIofferyoumysoul[/url]例如。我怎样才能把它变成这样:IfIofferyoumysoul 最佳答案 你需要一个正则表达式。考虑到bbcode可以有文本URL或只有URL,您将需要两个语句:$message=preg_replace('@\[url=([^]]*)\]([^[]*)\[/url\]@','$2',$message);$message=preg_replace('@\[url\]([

php - preg_replace 除字符串开头的 + 以外的所有非数字字符

假设输入字符串+123-321+123345,使用PHP的正则表达式函数我想删除所有非数字([^\d])字符,除了开头的+字符。+可能存在也可能不存在,因此给定字符串123-321+123345结果应该相同(123321123345)。目前的解决方法是检查+,然后运行​​preg_replace('/[^\d]+/','',$string),但我确信必须有一个纯正则表达式的解决方案来解决这个问题。谢谢! 最佳答案 试试这个/(?\D与[^\d]相同(?是一个负向后视,确保在非数字之前没有字符串的开头。这个表达式将匹配所有不是字符串开

php - 如何使用 preg_match 返回只需要的匹配

我正在尝试从这样的uris列表中解析一个整数:uri.com/upload/123456789_abc.ext我正在使用这种模式:preg_match("#uri\.com\/upload\/(.*?)_#is",$uri,$match);哪个有效并返回:Array([0]=>uri.com/upload/123456789_[1]=>123456789)但我想知道是否有办法使$match=="123456789"而不是返回具有多个值的数组。只修改模式是否可以做到? 最佳答案 它将始终返回一个数组,但您可以更改模式,以便它只匹配您想

php - str_replace 不会替换阿拉伯字符

';$patterns=array("على","مع");$replacements=array("","");$r_string=str_replace($patterns,$replacements,$utf8_string);//echo$r_string;print_r($r_string);echo'';//$words=preg_split("/(|مع|على)/",$r_string);$words=explode("",$r_string);$num=count($words);echo'Thereare'.$num.'words.';?>我有这个代码来计算阿拉伯语

php - 即使在 Allow From All 和 Chmod 777 之后,解决 Apache 上的 403 权限被拒绝错误?

我的DocumentRoot在~/Dropbox/Websites中。它在vhosts和httpd.conf中设置为AllowFromAll和AllowOverrideAll,我什至递归地在整个DocumentRoot上设置了777权限(它只是一个本地开发环境,我永远不会这样做,不要'担心)。这在Ubuntu和Windows上就像一个魅力,但在OSX上它一直告诉我权限被拒绝。我还能尝试什么?有没有办法查看为什么权限被拒绝?如果我至少得到像“_www不允许访问此文件夹”或“.htaccess不允许进入此文件夹”这样的提示,那就太好了,但这条通用消息的帮助为零。我还尝试将目录的所有者更改为

php - 为什么我的 htmlspecialchars 和 str_replace 不工作?

对于我的例子,请访问http://jflaugher.mystudentsite.net/cmweb241/cmweb241_lab2.html我只需要使用htmlspecialchars和str_replace函数来删除双引号和单引号。为什么这对我不起作用?我对PHP很陌生:/YourUsernameis:$username.";echo"YourPasswordis:$password.";echo"YourCommentwas:$comment.";?> 最佳答案 按照AlexLunix指定的相反顺序使用它$username=

php - 在匹配使用变量 : PHP:preg_match 形成的模式时转义字符的特殊含义

我正在执行正则表达式匹配以查找文本中某些特定单词集的首次出现。因为我不想在它们是其他单词的子字符串时生成误报,所以我想使用模式。例如,我想找到整个单词“DOM”,而不是“RANDOMIZER”中的子字符串DOM,比方说。因此,我将模式用作"\bDOM\b"来考虑所有出现的DOM,两侧都有单词边界。但是DOM和其他此类模式字符串来自数组$tags。将每个标签从$tags读入$tag,比较实际上是:preg_match("/\b$tag\b/",...)但如果$tag=".NET",这会遇到麻烦。然后"\b$tag\b"将开始匹配CNET、INET等字符串,将.解释为通配符。那么,我们如何

php - 如何在 Laravel 中的 Input::all() 之后附加额外的值

http://localhost/posts/post_id页面中有一个评论表单当我提交表单时,我想将post_id值附加到Input::all()因为表单不包含post_id。而post_id在评论表中的列名为post_id,创建评论的路径是comments.store任何的想法?谢谢! 最佳答案 我认为这应该可行:Input::merge(array('post_id'=>$post_id)); 关于php-如何在Laravel中的Input::all()之后附加额外的值,我们在St