如何使用正则表达式php替换结果URL

时间:2016-10-31 00:06:15

标签: php

我想使用简单的dom解析网络,我得到像这里的输出

我的代码

files

输出

foreach($html->find('ul[class=result-topic] a ') as $e){
  $count++;


 $d = ($e->href )."<br>";




echo($d)."<br>";
if($count == 2)
{
    exit();
}
}

这篇不完整的文章,如何用这里的完整文章替换url,输出

/news/354985850
/film/74808409409

1 个答案:

答案 0 :(得分:2)

一种方法是explode,追加倒数第二个元素,然后追加implode

$string = '/news/354985850';
$parts = explode('/', $string);
$parts[(count($parts) - 1)] = 'full/' . $parts[(count($parts) - 1)]; 
echo implode('/', $parts);

演示:https://eval.in/669122

另一种方法是使用preg_replace的正则表达式:

$string = '/news/354985850';
echo preg_replace('~(.*)/~', '$1/full/', $string);

演示:https://eval.in/669123

正则表达式演示:https://regex101.com/r/dQJY8v/1