我试图使用PHP解析一个HTML列表,然后读取列表的内容(例如,儿童和年轻人,居民,专业人员)和标签,在列表中的每一位文本末尾附加一个“/”(除了最后一项),然后输出,而不编辑周围的任何HTML标签。
目前我已经在列表中读到了它,并添加了'/',但我正在移除周围的标记在这个过程中,谁有任何建议的方法做这件事或任何我应该使用的函数? 谢谢
<ol class="breadcrumb">
<li class="inline odd first" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="https://my.northtyneside.gov.uk/category/75/residents" itemprop="url"><span itemprop="title">Residents</span></a></li>
<li class="inline even" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="https://my.northtyneside.gov.uk/category/175/children-and-young-people" itemprop="url"><span itemprop="title">Children and young people</span></a></li>
<li class="inline odd last" itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><span itemprop="title">Professionals</span></li>
</ol>
<?php
function injectSlashes($breadcrumb){
$doc = new DOMDocument();
$doc->loadHTML($breadcrumb);
$liList = $doc->getElementsByTagName('li');
$liValues = array();
foreach ($liList as $li) {
$liValues[] = $li->nodeValue;
}
$correctBreadcrumb = implode("<span aria-hidden=\"true\">/</span>",$liValues);
return $correctBreadcrumb;
}
?>
一个简单的解决方案是更改存储在每个项目中的数据。
目前,您使用
$liValues[] = $li->nodeValue;
正如您所发现的那样,它只是项目的文本。
要存储HTML,需要使用saveHTML()
。 通常这可能是一个文档片段,但是您可以将其简化为
$liValues[] = $doc->saveHTML($li->firstChild);
如果需要保留
<ol class="breadcrumb"></ol>
然后,它像前面一样创建面包屑,并通过将><
替换为>
面包屑<
来插入它。。。
function injectSlashes($breadcrumb){
$doc = new DOMDocument();
$doc->loadHTML($breadcrumb);
// Extract the ol
$ol = $doc->getElementsByTagName('ol')[0];
// Output the HTML for just the ol tag
$olText = $doc->saveHTML($ol->cloneNode());
$liList = $doc->getElementsByTagName('li');
$liValues = array();
foreach ($liList as $li) {
$liValues[] = $doc->saveHTML($li->firstChild);
}
$list = implode("<span aria-hidden=\"true\">/</span>",$liValues);
// Insert the breadcrumbs in the empty ol tag from above
$correctBreadcrumb = str_replace("><", ">".$list."<", $olText);
return $correctBreadcrumb;
}
嘿,我正在用kotlin中的html标记处理json响应。我不明白如何解析html标记作为响应。我试着与改装和moshi合作。我的回答如下 回应 我想在文本视图中显示。 我们可以在android中做吗?
本文向大家介绍使用PHP的HTML DOMDocument解析HTML,包括了使用PHP的HTML DOMDocument解析HTML的使用技巧和注意事项,需要的朋友参考一下 可以通过以下代码获取<div>标记内的<div>标记内的文本,其中<div>内的class =“ main”内- 示例 输出结果 这将产生以下输出-
问题内容: 我有一个嵌套的有序列表。 当前,嵌套元素再次从1开始,例如 第一 第二 第二个嵌套的第一个元素 第二个嵌套的第二个元素 第二个嵌套的第三个元素 第三 第四 我想要的是第二个元素的编号,如下所示: 第一 第二 2.1。第二个嵌套的第一个元素 2.2。第二个嵌套的第二个元素 2.3。第二个嵌套的第三个元素 第三 第四 有办法吗? 问题答案: 这是一个适用于所有浏览器的示例。纯CSS方法可在
所以我在这方面做了一点工作,遇到了麻烦。当它开始处理时,它总是给我一个致命的错误<基本上,我想从互联网上读取一个文本文件,然后对其进行解析,这样我就可以开始分解它,并使用JSON解析器处理JSON数据。但是再往下一点(我已经完成了部分)。我只是在连接和下载数据方面遇到了问题。我只想读入文本文件,然后再次打印出来。谢谢你在这方面的帮助。 这就是它给我的 01-26 15:11:48.373 1958
问题内容: 我有这样的HTML页面: 在另一页上,我正在这样做: jQuery,但是,没有执行在第一个文件中的javascript,即使文档中说的那样。我该怎么做呢? 编辑:不幸的是,在现实世界中的应用程序中,我无法控制“包含”页面的内容。 我们在同一个域中,但是我不能修改它输出的代码,因为它是打包产品,IT部门不允许我们对其进行修改。 问题答案: 正如Pointy 指出的 ( 双关语 ),当您将
问题内容: 我认为这个问题的答案是否定的……但是,有谁知道用HTML / CSS的方法来创建有序列表,而数字后面没有句点?或者,还是指定分隔符? 理想情况下,我不想为每个数字使用不同的类来制作列表样式的图像,但是到目前为止,我已经能够想到的就是这一切……这似乎非常语义化。 IE浏览器: 问题答案: 仅使用CSS(2.1)完全可以做到: 请记住,此解决方案依赖于:before伪选择器,因此某些较旧的
我正在用java创建一个文本编辑器,它将文本保存为html,但向用户显示为纯文本。用户可以更改文本的颜色、对齐方式和样式(粗体和下划线)。为了保存样式调整,整个文本主体以html形式存储在数据库中。我有一个问题,换行没有保存。因此,当用户输入文本时,按enter键并将文本放入新行,保存并重新显示后,所有文本都放入一行。所有的文本都只是放在段落标签里面,没有任何换行符。我想知道是否有一种方法可以告诉
问题内容: 有什么方法可以显示HTML标签而不进行解析?像这样的标签以前工作得很好,但是现在被它取代的并不是那么酷。看一下这个例子: 我正在寻找的等效于旧的XMP标签。新的PRE标签将解析代码。 问题答案: 您可以将元素及其设置用于表示纯文本,并将其属性设置为。这仅影响解析行为:除了元素本身的结束标记之外,无法识别任何标记(标记,实体或字符引用)。(所以它不是 很 一样,这里的认可标签。)你可以单