首页 > php正则表达式怎么匹配首尾空白的情况?

php正则表达式怎么匹配首尾空白的情况?

比如:

<ul>
    <li> - 中华人民共和国 - </li>
</ul>

要提取出“中华人民共和国”,正则表达式应该怎么写?


利用提取中文字符的思路:

<?php
$str = '<ul>
    <li> - 中华人民共和国 - </li>
</ul>';

preg_match('/<ul>\s*<li>[^\x{4e00}-\x{9fff}]*([\x{4e00}-\x{9fff}]*)[^\x{4e00}-\x{9fff}]*<\/li>\s*<\/ul>/u', $str, $arr);
print_r($arr);

// 结果
/*
Array
(
    [0] => <ul>
    <li> - 中华人民共和国 - </li>
</ul>
    [1] => 中华人民共和国
)
*/

可以先使用trim(),然后再正则么?


能不用正则的坚决不用正则。

PHP直接解析DOM然后+trim

trim的第二个参数很方便

就算一定要用正则也要让正则干最少的工作。


trim(' - ')

【热门文章】
【热门文章】