【问题标题】:Preg Replace / Preg Match for href in html link?html链接中href的预替换/预匹配?
【发布时间】:2009-09-12 23:22:22
【问题描述】:

任何人都有一个正则表达式来替换下面的代码:

<a href="originalLink">hi</a>

与:

<a href="newLink">hi</a>

【问题讨论】:

    标签: php regex


    【解决方案1】:

    PHP Simple HTML Dom Parser 示例:

    // Create DOM from URL or file
    $html = file_get_html('http://www.google.com/');
    
    // Find all links 
    $anchors = $html->find('a');
    
    $count = count($anchors);
    
    for($i=0;$i<$count;$i++) {
        $anchors[$i]->href = 'someLink.html';
    }
    

    如果您知道要替换的锚点的href,请执行以下操作:

    $html->find('a[href=something]', 0)->href = 'someLink.php';
    

    【讨论】:

    • 同上 - 这将比使用正则表达式解析 HTML 可靠得多。 HTML 的语法过于复杂且执行过于松散,以至于现实世界的正则表达式无法处理所有情况。
    • file_get_html 是真正的方法吗?我在任何地方都找不到它。它返回什么类型的对象?
    • 我相信它来自简单的 html :-)
    猜你喜欢
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-19
    • 1970-01-01
    • 2019-08-10
    相关资源
    最近更新 更多