PHP preg_match直到双行中断 - php

我在mysql字段中有此数据:

First text text text text
 text text text text
 text text text text text text
 text text text text text text

Second text text text text
 text text text text
 text text text text text text
 text text text text text text

我正在尝试从第一个单词开始匹配,直到双行中断。我试过了:

preg_match('/First(.*)\n\n/', $mysqlrow, $m);

这将不返回任何行。我还尝试了ms修饰符,它们没有返回正确的字符串。我还尝试了\r\n,该方法不返回任何内容。

你怎么做到这一点

参考方案

您需要s修饰符,还需要将通配符修饰符更改为非贪婪:

preg_match('/First(.*?)\n\n/s', $mysqlrow, $m);

s选项将导致.通配符与\n匹配,而非贪婪将导致*通配符在匹配\n\n之前不占用它运行的所有\n\n

您还可以选择匹配\r,以防万一您的数据库中有:

preg_match('/First(.*?)\r?\n\r?\n/s', $mysqlrow, $m);

preg_match不捕获内容 - php

我的preg_match有什么问题?preg_match('numVar("XYZ-(.*)");',$var,$results); 我想从这里获取所有内容:numVar(“ XYZ-CONTENT”);感谢您的任何帮助! 参考方案 我认为这是PHP?如果是这样,则您的代码存在三个问题。PHP的PCRE函数要求使用分隔…

PHP:Preg_replace,单词边界和非单词字符 - php

我需要替换文本中以井号(#)开头的单词。好吧,我知道如何替换整个单词。preg_replace("/\b".$variable."\b/", $value, $text);由于该\ b修饰符仅接受单词字符,因此不会替换包含井号的单词。我有这个html,其中包含#companyName类型的变量,我将其替换为一个值。 参…

PHP preg_replace和号 - php

好吧,我可能不会以正确的方式解决这个问题,但是这里就来了。我有这个带链接的字符串,并提取标签之间的文本...$string = $item; $pattern = '/\<a([^>]*)\>([^<]*)\<\/a\>/i'; $replacement = '$2'; $messa…

php:拆分字符串,直到第一次出现数字 - php

我有像cream 100G sup 5mg Children 我想在第一次出现数字之前将其拆分。所以结果应该是array( array('cream','100G'), array('sup','5mg Children') ); 可以告诉我如何为此创建图案吗?我试过了list(…

使用regex / preg_match()检查以十进制度为单位的一组坐标是否有效 - php

我已经学到了一些基本的正则表达式来弄湿我的脚,但是对于我来说,这一切仍然太复杂了。我需要使用一组用户输入的十进制度数坐标(示例):$ latitude = -42.323432$经度= 176.232123并使用PHP中的preg_match()函数检查它们是否有效。看起来很简单,但是我无法在我的一生中编写正则表达式来确保不会丢失任何不良数据。我将分别检查北…