pep*_*epe 5 php parsing dom codeigniter web-scraping
与Facebook类似,我正在构建一个允许用户发布链接的应用程序.
用户在输入字段中填写链接,然后控制器返回
Title
Link
Meta description
Images (as thumbnails)
Run Code Online (Sandbox Code Playgroud)
到了视野.
这是控制器代码:
$url = $this->input->post('posts_link');
if (!empty($url)) {
$html = file_get_html($url);
foreach ($html->find('img') as $element) {
$src = "";
$src = $element->src;
if (preg_match("/\.jp[e]?g$/i", $src)) {
$images[] = $src;
}
}
$data['posts_link'] = $url;
$data['images'] = $images;
$data['title'] = $html->find('title', 0)->plaintext;
$data['meta'] = get_meta_tags($url);
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是没有图像,没有标题或没有描述(单独或组合).
我正在使用codeigniter,它会在视图上抛出几个错误,我宁愿压制它.
是否有最佳实践来抑制这些错误或放置空变量,以防DOM解析器没有返回标题/图像/描述?
比如我试过了
$data['images'] = $images ? $images : '';
但它并没有解决我的问题.
有什么建议?
谢谢.
在使用变量之前,您需要预先定义它们。因为$images这将是
$images = array();
Run Code Online (Sandbox Code Playgroud)
紧接着if (!empty($url)) {等