草庐IT

Preg_Replace

全部标签

PHP preg_match 获取字符串之间

我正在尝试获取字符串helloworld。这是我目前所得到的:$file="1232#helloworld#";preg_match("#1232\#(.*)\##",$file,$match) 最佳答案 建议使用#以外的分隔符,因为您的字符串包含#和非贪婪的(.*?)捕获#之前的字符。顺便说一句,如果#不是定界符,则不需要在表达式中对其进行转义。$file="1232#helloworld#";preg_match('/1232#(.*?)#/',$file,$match);var_dump($match);//Prints:ar

PHP preg_replace 匹配多行的正则表达式

如何创建考虑到主题由多行组成的正则表达式?一个的“m”修饰符似乎不起作用。 最佳答案 MaxwellTroyMiltonKing是对的,但由于他的回答有点简短,我也将其发布并提供一些示例来说明。首先,.元字符默认不匹配换行符。许多正则表达式实现都是如此,包括PHP的风格。也就是说,拿文字:$text="Line1\nLine2\nLine3";和正则表达式'/.*/'那么正则表达式将只匹配第1行。自己看看:preg_match('/.*/',$text,$match);echo$match[0];//echos:'Line1'因为.

php - 使用 PHP 5.2.6 将附加参数传递给 preg_replace_callback

我一直在研究类似的问题,但我仍然不太清楚使用PHP5.2.6在preg_replace_callback中传递附加参数是否可能和/或最好的方法在这种情况下,我还希望将$key从foreach循环传递到if_replace函数。publicfunctionoutput(){if(!file_exists($this->file)){return"Errorloadingtemplatefile($this->file).";}$output=file_get_contents($this->file);foreach($this->valuesas$key=>$value){$tagTo

php - 如何使用 preg_match_all() 获取子组匹配的所有捕获?

这个问题在这里已经有了答案:Getrepeatedmatcheswithpreg_match_all()(6个回答)关闭3年前。更新/注意:IthinkwhatI'mprobablylookingforistogetthecapturesofagroupinPHP.引用:PCREregularexpressionsusingnamedpatternsubroutines.(仔细阅读:)我有一个包含可变数量段的字符串(简化):$subject='AABBDD';//couldbe'AABBDDCCEE'aswell我现在想匹配段并通过匹配数组返回它们:$pattern='/^(([a-z

PHP 过滤器使用 preg_replace 只允许字母数字和一些标点符号

我对preg_replace有个小问题.我需要一个函数来删除除[A-z][0-9]之外的所有字符和.!?.我可以使用preg_match,但这只验证字符串,我想删除字符。这样我就不会把像这样的垃圾字符放在最后和;[[;[p;[在描述META标签中。所以函数必须这样做:;")kk23?!→brkk23?!任何帮助将不胜感激:D 最佳答案 $string=';")kk23?!';$new_string=preg_replace("/[^A-Za-z0-9.!?]/",'',$string);echo$new_string;叶子:字母、数

php - 简单 : How to replace "all between" with php?

这个问题在这里已经有了答案:Howtoremovetextbetweentagsinphp?(6个回答)关闭2年前。$string="idontknowwhatishere"$string=str_replace("???","",$string);echo$string;//那么我在寻找什么代码? 最佳答案 一个通用函数:functionreplace_between($str,$needle_start,$needle_end,$replacement){$pos=strpos($str,$needle_start);$star

PHP 在 preg_replace 上崩溃

我使用php.exe运行了以下脚本:preg_replace('#(?:^[^\pL]*)|(?:[^\pL]*$)#u','',$string);或其等价物:preg_replace('#(?:^[^\pL]*|[^\pL]*$)#u','',$string);如果$string="S"或$string="ذذ"它有效,如果string='ذ'它产生�不正确,如果string='ذذ'PHP崩溃。但它适用于4.4.0-4.4.9、5.0.5-5.1.6版本。怎么了?参见:http://3v4l.org/T3rpVOutputfor5.4.0-5.5.0alpha6Processexi

php - 如何将重音字符与 PHP preg 匹配?

我想让我的用户不仅可以填写字母和数字,还可以填写“á”、“é”等“特殊”字母。但是,我不希望他们能够使用“!”、“@”、“%”等符号。有没有办法编写一个正则表达式来完成这个?(最好不要指定每个特殊字母。)现在我有:$reg='/^[\w\-]*$/'; 最佳答案 您可以使用Unicodecharacterproperties描述人物:/^[\p{L}-]*$/u\p{L}描述了Unicode字母字符的类别。 关于php-如何将重音字符与PHPpreg匹配?,我们在StackOverflo

php - 我有一个带有 "\u00a0"的字符串,我需要用 ""替换它 str_replace 失败

我需要清理来自各种MicrosoftOffice套件应用程序(Excel、Access和Word)的字符串(复制/粘贴),每个应用程序都有自己的一组编码。我将json_encode用于调试目的,以便能够查看每个编码的字符。我可以用str_replace清理我目前找到的所有东西(\r\n),但是用\u00a0我没有运气。$string='mail@mail.com\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0;mail@mail.com';//thisistheoutputfromjson_encode

php - Preg 匹配 php 中 html 标签之间的文本

您好,我想在PHP中使用preg_match从html文档中解析以下内容中的“所需文本”Desiredtext通常我会为这些事情使用simple_html_dom但在这种情况下它不能使用(上面的元素没有出现在每个需要的div标签中所以我不得不使用这种方法来准确跟踪它什么时候没有't出现,然后相应地从simple_html_dom调整我的数组)。无论如何,这会解决我的问题。非常感谢。 最佳答案 preg_match("'(.*?)'si",$source,$match);if($match)echo"result=".$match[1