`

php网页tag标签替换单元测试代码

    博客分类:
  • php
php 
阅读更多
<?php
class TagReplaceApi{

	public function tagReplace($content, $tags){//替换内容及所有tags
		$replaceArr = array();
		$tagslength=count($tags);
		for($i=0; $i<$tagslength; $i++) {
			$content = $this -> tagReplaceContent($content, $tags[$i], $replaceArr, $i);
		}
		foreach($replaceArr as $key=>$value) {
		  //echo "Key=" . $key . ", Value=" . $value . "<br/>";
		  $content = str_replace($key, $value, $content);
		}
		return $content;
	}
	
	public function tagReplaceContent($content, $tag, &$replaceArr, $i){//替换内容及tag
		$tagName = $tag['tagName'];
		$tagUrl = $tag['tagUrl'];
		//echo "tagName=" . $tagName . ", tagUrl=" . $tagUrl . "<br/>";
		$reValue = "<a href=\"".$tagUrl."\">".$tagName."</a>";
		$content = str_replace($reValue, $tagName, $content);
		$reKey = "######" . $i . "######";
		$content = str_replace($tagName, $reKey, $content);
		$replaceArr[$reKey] = $reValue;
		return $content;
	}
	
}
$content = '一般不注意小米觉得再正常不过的小米正品黑色手环一张小米正品活塞耳机2代咖啡金色照片,不过仔细观察小米正品黑色手环会发现最令人小米惊叹的是一小米正品活塞耳机3代黑色只正在经过的飞鸟,被十分清晰地抓拍了下来,没有丝毫模糊,要知道手机拍摄动态物体的实际成像效果一般都不怎么理小米正品活塞耳机2代咖啡金色想的,更何况是一只正在飞翔的大鸟,画面并没有出现抖动情况,很清晰,由此可见小米5在运动抓拍方面应该很小米给力。';
$tags = array(array('tagName' => '小米正品活塞耳机2代咖啡金色','tagUrl' => 'http://www.mi.com/kfj/'), array('tagName' => '小米正品活塞耳机3代黑色','tagUrl' => 'http://www.mi.com/hei/'), array('tagName' => '小米','tagUrl' => 'http://www.mi.com/'));
$tagReplaceApi = new TagReplaceApi();
$content = $tagReplaceApi -> tagReplace($content, $tags);
echo $content;
echo "<br/>";
echo "<br/>";
$content = $tagReplaceApi -> tagReplace($content, $tags);
echo $content;
echo "<br/>";
echo "<br/>";
$content = $tagReplaceApi -> tagReplace($content, $tags);
echo $content;
?>

 

分享到:
评论

相关推荐

    HTML代码中标签的全部属性 中文注释说明

    59. **tagName**: 元素的标签名称。 60. **title**: 元素的标题。 61. **offsetWidth**: 元素的宽度(包括边框和内边距)。 以上属性并非所有都适用于`&lt;img&gt;`标签,例如`isMultiLine`和`canHaveHTML`等属性对图像...

    Laravel开发-laravel-googletagmanager

    在本文中,我们将深入探讨如何在 Laravel 框架中集成 Google 标签管理器(Google Tag Manager,GTM)。Laravel 是一个流行的 PHP 框架,它提供了丰富的功能和工具来帮助开发者构建优雅、高效的 Web 应用程序。Google...

    Laravel开发-laravel-google-tag-manager

    "Laravel开发-laravel-google-tag-manager"是一个专为Laravel设计的包,目的是帮助开发者集成谷歌标签管理器(Google Tag Manager,GTM)到他们的应用中。谷歌标签管理器是一个强大的免费工具,允许网站所有者和营销...

    PHP强大采集类.zip

    `index.php`很可能是示例或者测试代码,展示了如何使用这个采集类进行实际的网页抓取任务。通过查看这个文件,我们可以学习到如何初始化`QueryList`对象,设置请求头、代理等抓取参数,以及如何编写选择器和处理规则...

    php代码-token

    - PHP的Token类型包括T_OPEN_TAG(打开标签 &lt;?php 或 ), T_CLOSE_TAG(关闭标签 ?&gt;),T_VARIABLE(变量,如 $var),T_CONSTANT_ENCAPSED_STRING(字符串,如 'hello'),T_IF, T_FOR, T_FUNCTION(函数声明)等...

    JAVA上百实例源码以及开源项目源代码

    5个目标文件,演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    tags标签伪静态的方法

    3. **测试与调试**:在实施伪静态后,全面的测试是必不可少的,以确保所有链接的正确性和功能的稳定性。这包括检查所有tags标签页面的链接是否正确生成,以及页面内容是否按预期显示。 综上所述,“tags标签伪静态...

    PHPCMS V9评论模块伪静态与TAG模块伪静态设置

    删除原有的PC标签`{pc:comment ...}`和对应的`{/pc}`,然后替换循环语句`{loop $data $r}`为`{loop $comment_info $r}`,同时更改分页标签`{$pages}`为`{str_replace("_0.html","_1.html",$pages)}`,以符合新的URL...

    phpjsp教程

    4. **JSTL(JavaServer Pages Standard Tag Library)**:提供一系列标准标签,简化JSP页面的编写。 5. **Servlet**:虽然不是JSP的一部分,但作为JSP的基础,理解Servlet的工作原理和API非常重要。 6. **MVC(Model...

    php环境配置

    但是,为了确保一切正常工作,我们需要测试PHP和MySQL的连接。创建一个名为info.php的文件,写入以下代码: ```php &lt;?php $servername = "localhost"; $username = "root"; $password = "your_root_password"; $...

    PHP 采集程序 常用函数

    在网页内容中去除HTML标签可以使用`Text2Html`函数,该函数通过字符串替换和正则表达式移除HTML标签,并将换行符转换为HTML换行标签` `。而`ClearHtml`函数则可以用来清除字符串中的HTML标签,使得文本数据去除...

    E客电影系统EKVOD v2.0 GBK.zip

    添加影片管理影片更方便,分类添加和管理更加简单化,支持分类别名,分类页模版设置,增加影片专题功能,增加tag标签,增加按字母分类影片,连载管理,推荐管理,影片报错等功能管理! 2、生成静态页管理: 可以...

    phpcms模板

    - `{dede:tag}`:显示标签云或者根据标签筛选文章。 **四、模板管理** 在phpcms后台,管理员可以方便地进行模板管理: 1. **模板切换**:可以选择已安装的不同模板,快速改变网站外观。 2. **模板上传**:可以...

    phpcms2008

    首先,你需要复制并替换原有的代码。新的代码中包含了对内容列表的样式和排列方式的改进。例如,`&lt;div class="split"&gt;&lt;/div&gt;`被添加进来,它在每10个条目后插入一条分隔线,以提高视觉效果。`&lt;li&gt;`元素内包含了日期...

    java开源包8

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    java开源包10

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    xheditor-1.1.14

    说明:当localUrlTest测试为false时,会将图片URL发往当前参数指定的服务器端上传接收程序,抓取成功后将本地URL返回并替换 备注:v1.1.8新添加 readTip:无障碍读屏提示 参数值:字符串(默认为空) 说明:无障碍读屏...

    java开源包1

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

    java开源包11

    Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言...

Global site tag (gtag.js) - Google Analytics