PHP正则表达式将空格替换为&;nbsp;如果它跟随单个字母,但不破坏html标记
我找到了 进入 不幸的是,如果html标记出现在内容中,它也会破坏它们PHP正则表达式将空格替换为&;nbsp;如果它跟随单个字母,但不破坏html标记,php,regex,replace,preg-replace,Php,Regex,Replace,Preg Replace,我找到了 进入 不幸的是,如果html标记出现在内容中,它也会破坏它们 "hello, this is a <a href="example.com">beautiful day</a>" “你好,这是一个” 最终成为 "hello, this is a <a href="example.com">beautiful day</a>" “你好,这是一个” 我怎样才能把这个句子正则化为 "hello, th
"hello, this is a <a href="example.com">beautiful day</a>"
“你好,这是一个”
最终成为
"hello, this is a <a href="example.com">beautiful day</a>"
“你好,这是一个”
我怎样才能把这个句子正则化为
"hello, this is a <a href="example.com">beautiful day</a>"
“你好,这是一个”
我还必须处理一些拉丁扩展字符,所以要修复的示例文本是
Dziedziczenie dlugów spadkowych jest wciąż bardzo żywym tematem, pomimo korzystnej dla spadkobierców zmiany przepisów w 2015 roku, o której szerzej pisałem na blogu <a href="http://www.prawnik-katowice.pl/blog-prawniczy/dziedziczenie-dlugow-od-18-pazdziernika-2015-roku/">tutaj</a>.
Dziedziczenie dlugów spadkowych与wciąbardzożywym tematem开玩笑,pomimo korzystnej DlaSpadkobierców zmiany przepisów 2015 roku,o ktèrej szerzej pisałem na blogu。
正则表达式:
(?i)<\/?\w+[^>]*>(*SKIP)(?!)|\b(\p{Latin})\s
使用DOMDocument和DOMXPath并替换每个textNode。使用此选项,谢谢您的帮助。它可以很好地处理英文文本,但我正在处理的项目涉及一些拉丁扩展字符,这个正则表达式也匹配它们。我已经用示例文本更新了主要帖子。谢谢更新版本。我在你的例子中看到了它的作用。我自己也试过,我不知道为什么它对我不起作用。你能查一下吗?不客气。如果答案解决了您的问题,请随意将其标记为已接受(),如果有帮助,请向上投票。
"hello, this is a <a href="example.com">beautiful day</a>"
Dziedziczenie dlugów spadkowych jest wciąż bardzo żywym tematem, pomimo korzystnej dla spadkobierców zmiany przepisów w 2015 roku, o której szerzej pisałem na blogu <a href="http://www.prawnik-katowice.pl/blog-prawniczy/dziedziczenie-dlugow-od-18-pazdziernika-2015-roku/">tutaj</a>.
(?i)<\/?\w+[^>]*>(*SKIP)(?!)|\b(\p{Latin})\s
preg_replace('~</?\w+[^>]*>(*SKIP)(?!)|\b(\p{Latin})\s~iu', '\\1 ', $str);
(?i) # Set case-insensitive flag
<\/? \w+ [^>]* > # Match opening / closing HTML tags
(*SKIP)(?!) # Throw them away
| # Or
\b # Match a word-boundary position
( \p{Latin} ) # Capture a letter
\s # Match a whitespace