【发布时间】:2017-11-21 10:45:49
【问题描述】:
所以我有这段代码来解析来自网站的 url 链接,但它在 url 的末尾包含和 </a> 结束标记,就像这样 http://www2.enekoshop.jp/shop/tadaseinikuten/</a>
$html = new simple_html_dom();
$html->load($xml->retdata);
$item = array();
foreach($html->find('body') as $home) {
//some other fields here
$email1 = preg_replace('/[^\00-\255]+/u','',trim($home->find('div[id="home"] div[id="mainblock"] div[class="txtblock"]', 8)->children(1)->plaintext));
$email = filter_var($email1, FILTER_SANITIZE_EMAIL);
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
$item['email'] = $email;
} else {
$item['email'] = NULL;
}
}
虽然我使用plaintext 来抓取文本,但它有</a> 结束标记。如何删除它?
【问题讨论】:
-
Ehh 我很困惑,你将域放入一个名为
$email的变量中,然后在其上调用filter_var(..., FILTER_SANITIZE_EMAIL);? -
如果
</a>标签始终存在,为什么不使用子字符串函数呢?substr($url, 0, strlen($url) - 4); -
@Paul-Etienne 这并没有真正解决问题,而是解决了症状。
-
$html是什么对象?
-
@Xatenev 它实际上来自 codeigniter 中的一个库。我将完成代码。