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

Converting a DOM element into a string in PHP

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

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

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

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

回答下面的评论:

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

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

"NULL
            "

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

现在是时候获取 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

首先执行以下步骤得到 URL

  1. $page = icl_object_id(2880, 'page', true);
  2. $url = get_permalink($page);

然后用$parts = explode("/", $url)函数得到那个数组的最后一个元素,你可以用array_pop()