在php中提取html标签之间的字符串

Rek*_*kha 4 html php tags string extract

我想提取 html 标签之间的字符串,并使用 google api 将其转换为其他语言,并在字符串后附加 html 标签。

例如,

<b>This is an example</b>
Run Code Online (Sandbox Code Playgroud)

我想提取字符串“这是一个示例”并将其转换为其他语言,然后再次附加带有粗体标记的字符串。

有人知道如何继续吗?

问候雷卡

Bre*_*ley 5

最简单的方法就是使用 DOM 解析来获取 HTML 标签的内容。但是,您需要指定要获取其内容的标签。例如,您不需要 table 或 tr 的内容,但可能需要 td 的内容。下面是如何获取所有 b 标签的内容并替换它们之间的文本的示例。

$dom_doc = new DOMDocument();
$html_file = file_get_contents('file.html');
// The next line will likely generate lots of warnings if your html isn't perfect
// Put an @ in front to suppress the warnings once you review them
$dom_doc->loadHTML( $html_file );
// Get all references to <b> tag
$tags_b = $dom_doc->getElementsByTagName('b');
// Extract text value and replace with something else
foreach($tags_b as $tag) {
    $tag_value = $tag->nodeValue;
    // get translation of tag_value
    $translated_val = get_translation_from_google();
    $tag->nodeValue = $translated_val;
}
// save page with translated text
$translated_page = $dom_doc->saveHTML();
Run Code Online (Sandbox Code Playgroud)

编辑:更正 file_get_contents 的拼写并添加 ; $translated_val 之后