相关疑难解决方法(0)

除了XHTML自包含标记之外,RegEx匹配开放标记

我需要匹配所有这些开始标记:

<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)

但不是这些:

<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)

我想出了这个,并希望确保我做对了.我只抓住了a-z.

<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)

我相信它说:

  • 找一个小于,然后
  • 然后,查找(并捕获)az一次或多次
  • 然后找到零个或多个空格
  • 找到任何字符零次或多次,贪婪/,然后
  • 找到一个大于

我有这个权利吗?更重要的是,你怎么看?

html regex xhtml

1323
推荐指数
36
解决办法
270万
查看次数

抓取A元素的href属性

试图在页面上找到链接.

我的正则表达式是:

/<a\s[^>]*href=(\"\'??)([^\"\' >]*?)[^>]*>(.*)<\/a>/
Run Code Online (Sandbox Code Playgroud)

但似乎失败了

<a title="this" href="that">what?</a>
Run Code Online (Sandbox Code Playgroud)

我如何更改我的正则表达式来处理未首先放在标签中的href?

html php dom

113
推荐指数
3
解决办法
9万
查看次数

PHP DomDocument编辑所有链接

我使用以下代码从另一个页面抓取html并将其放入我的php页面:

$doc = new DomDocument;

// We need to validate our document before refering to the id
$doc->validateOnParse = true;
$doc->loadHtml(file_get_contents('{URL IS HERE}'));
$content = $doc->getElementById('form2');

echo $doc->SaveHTML($content);
Run Code Online (Sandbox Code Playgroud)

我想更改所有实例,<a href="/somepath/file.htm">以便我可以在其前面添加实际域.我怎样才能做到这一点?

因此,它需要将它们更改为: <a href="http://mydomain.com/somepath/file.htm">相反.

php domdocument

4
推荐指数
1
解决办法
1405
查看次数

标签 统计

html ×2

php ×2

dom ×1

domdocument ×1

regex ×1

xhtml ×1