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)因此,只有当内容放在div标记中时,它才被识别为段落。我想将此扩展到在使用两个(或更多)分隔符时也可以识别。请参阅:我不想编辑is,字符串中的每个元素都由放置在matches数组中的div标记包装。我想在检测到两个
时发生同样的事情……那么..
呢?那…
呢?如果有人使用
怎么办?您是否将列表(例如
)限定为“段落”?您如何看待标题/副标题,如..
、..
、..
等?嵌套的
s可能与上述任何一种结合在一起,那该怎么办?仔细考虑您的要求,然后重新考虑。您的要求不明确。我需要将..
识别为段落,但也将..
..
识别为段落。我当前的代码是:preg_match(“/([^`]*?)/is“,$getContent,$matches)因此,只有当内容放在div标记中时,它才被识别为段落。我想将此扩展到在使用两个(或更多)分隔符时也可以识别。请参阅:我不想编辑is,字符串中的每个元素都由放置在matches数组中的div标记包装。我想在检测到两个
时发生同样的事情……那么..
呢?那…
呢?如果有人使用
怎么办?您是否将列表(例如
)限定为“段落”?您如何看待标题/副标题,如..
、..
、..
等?嵌套的
s可能与上述任何一种结合在一起,那该怎么办?仔细考虑您的需求,然后重新考虑。
<br>
<br>