比如:
<code><ul> <li> - 中华人民共和国 - </li> </ul> </code>
要提取出“中华人民共和国”,正则表达式应该怎么写?
比如:
<code><ul> <li> - 中华人民共和国 - </li> </ul> </code>
要提取出“中华人民共和国”,正则表达式应该怎么写?
利用提取中文字符的思路:
<code class="php"><?php $str = '<ul> <li> - 中华人民共和国 - </li> '; preg_match('/<ul>\s*<li>[^\x{4e00}-\x{9fff}]*([\x{4e00}-\x{9fff}]*)[^\x{4e00}-\x{9fff}]*\s*/u', $str, $arr); print_r($arr); // 结果 /* Array ( [0] => <ul> <li> - 中华人民共和国 - </li> </ul> [1] => 中华人民共和国 ) */</li> </ul></code>
可以先使用trim()
,然后再正则么?
能不用正则的坚决不用正则。
PHP直接解析DOM然后+trim
trim
的第二个参数很方便
就算一定要用正则也要让正则干最少的工作。
trim(' - ')