php str_replace问题与url(s)

时间:2016-08-18 11:44:21

标签: php

我有这个非常简单的php行($ html包含一些不那么长的文本,假设大约3000个字符):

$html = str_replace('href="http://www.myurl.com', 'href="http://subdomain.myurl.com', $html);

这很简单,我无法理解为什么它会起作用,也许是某些问题' //'?

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

虽然str_replace()preg_replace()相比相对快一些;由于我们此时不知道您的HTML字符串的内容,因此建议您使用preg_replace()。这将是如何:

<?php


    $html   = "Lorem ipsum dolor enim purus, <a href='http://www.myurl.com/friendly-url-1/1'>sit amet</a> ";
    $html  .= "sed nascetur, ac et, habitasse adipiscing <a href='http://www.myurl.com/friendly-url-2/2'>velit elementum</a>, ";
    $html  .= "mauris nisi eros <a href='http://www.myurl.com/'>turpis aliquam</a> lorem.";

    $rx     = "#(href=['\"])(http[s]?:\/\/)?(www.)?(myurl\.com)#sim";
    $rpl    = "$1$2subdomain.$4";
    $html   = preg_replace($rx, $rpl,  $html);

您可以(如果您选择)try out a simulated Example ...