Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP识别富文本中的段落_Php_Html_Regex - Fatal编程技术网

PHP识别富文本中的段落

PHP识别富文本中的段落,php,html,regex,Php,Html,Regex,我有一个新闻消息的富文本编辑器。 前端显示一个段落,用户单击“阅读更多”后即可阅读完整信息 然而,这种识别现在由标记完成,而编辑器使用标记(一个段落两个) 我现在的正则表达式是: "/<div>([^`]*?)<\/div>/is" “/([^`]*?)/is” 我如何扩展此功能以同时识别紧随其后的两个标记。(注意,那些br标记可能包含属性)。如上所述,注意使用regex解析HTML,尤其是对于“复杂”问题,通常是一个坏主意。以下不是一个完美的解决方案,但可能足以满足

我有一个新闻消息的富文本编辑器。 前端显示一个段落,用户单击“阅读更多”后即可阅读完整信息

然而,这种识别现在由
标记完成,而编辑器使用
标记(一个段落两个)

我现在的正则表达式是:

"/<div>([^`]*?)<\/div>/is"
“/([^`]*?)/is”
我如何扩展此功能以同时识别紧随其后的两个
标记。(注意,那些br标记可能包含属性)。

如上所述,注意使用regex解析HTML,尤其是对于“复杂”问题,通常是一个坏主意。以下不是一个完美的解决方案,但可能足以满足您上面给出的简单要求:

/(?<=<div>).*?(?=<\/div>)|(?<=<br>\s*<br>).*?(?=<div>|<br>\s*<br>)/is
或:




…但正如我所说,这仍然不是一个完美的解决方案。如果你发现模式太复杂了,那就认真考虑。(或者,让用户输入新行,并将其转换为段落如何?…或者,甚至只使用现有的,或?)

如上所述,注意使用正则表达式解析HTML,特别是对于“复杂”问题,通常是一个坏主意。以下不是一个完美的解决方案,但可能足以满足您上面给出的简单要求:

/(?<=<div>).*?(?=<\/div>)|(?<=<br>\s*<br>).*?(?=<div>|<br>\s*<br>)/is
或:




…但正如我所说,这仍然不是一个完美的解决方案。如果你发现模式太复杂了,那就认真考虑。(或者,让用户输入新行,并将其转换为段落,如何?…甚至,只使用现有的,或?)

您的要求不清楚。我需要将
..
识别为段落,但也将
..

..
识别为段落。我当前的代码是:
preg_match(“/([^`]*?)/is“,$getContent,$matches)时发生同样的事情……那么
..

呢?那
呢?如果有人使用

怎么办?您是否将列表(例如
)限定为“段落”?您如何看待标题/副标题,如
..
..
..
等?嵌套的
s可能与上述任何一种结合在一起,那该怎么办?仔细考虑您的要求,然后重新考虑。您的要求不明确。我需要将
..
识别为段落,但也将
..

..
识别为段落。我当前的代码是:
preg_match(“/([^`]*?)/is“,$getContent,$matches)时发生同样的事情……那么
..

呢?那
呢?如果有人使用

怎么办?您是否将列表(例如
)限定为“段落”?您如何看待标题/副标题,如
..
..
..
等?嵌套的
s可能与上述任何一种结合在一起,那该怎么办?仔细考虑您的需求,然后重新考虑。
<br>
<br>