在PHP中将DOM元素转换为字符串

时间:2016-05-16 10:27:11

标签: php wordpress wpml

我正在运行Wordpress网站并使用WPML翻译插件。在WPML中,有一个名为icl_link_to_element(2880);的方法,它返回并在DOM中生成以下元素:

<a href="https://www.someurl.com/es/atencion-al-cliente">Atención al cliente</a>

我想将此元素转换为字符串,以便我可以简单地将url atencion-al-cliente的最后一部分返回并存储到唯一变量中。

完成这项工作的最佳方法是什么?

回答下面的评论:

现在DOM中出现了两个元素。

<a href="https://www.someurl.com/es/atencion-al-cliente">Atención al cliente</a>

"NULL
            "

2 个答案:

答案 0 :(得分:1)

首先执行以下步骤以获取该网址

  1. $page = icl_object_id(2880, 'page', true);
  2. $url = get_permalink($page);
  3. 然后使用$parts = explode("/", $url)函数并获取该数组的最后一个元素,您可以使用array_pop()

答案 1 :(得分:0)

使用preg_match获取href的值,现在使用parse_url获取匹配的值,只需从返回数组中收集路径。

现在是时候获取网址的最后一部分,请尝试以下代码。

$html = '<a href="https://www.someurl.com/es/atencion-al-cliente">Atención al cliente</a>';

preg_match('/<a href="(.+)">/', $html, $match);

$info = parse_url($match[1]);

$str = $info['path'];
$len = strlen($info['path']);

echo trim(substr($str, strrpos($str, '/'), $len), "/"); //atencion-al-cliente