php使用正则表达式标记标题,PHP正则表达式以匹配HTML标记a之外的关键字
我设法通过以下方式完成了我想做的事情(不使用Regex):
解析字符串的每个字符
删除所有标签(将它们复制到临时数组并在字符串上保留占位符)
str_replace 新字符串以替换所有关键字
通过原始标签重新填充占位符
如果有人需要,这是我使用的代码:
$str = <<
Moses supposes his toeses are roses,
but Moses supposes erroneously;
for nobody's toeses are posies of roses,
as Moses supposes his toeses to be.
Ganda Moses!
STRA;
$arr1 = str_split($str);
$arr_links = array();
$phrase_holder = '';
$current_a = 0;
$goto_arr_links = false;
$close_a = false;
foreach($arr1 as $k => $v)
{
if ($close_a == true)
{
if ($v == '>') {
$close_a = false;
}
continue;
}
if ($goto_arr_links == true)
{
$arr_links[$current_a] .= $v;
}
if ($v == '
// keep collecting every char until
$arr_links[$current_a] .= $v;
$goto_arr_links = true;
} elseif ($v == '' ) { /* */
$arr_links[$current_a] .= "/a>";
$goto_arr_links = false;
$close_a = true;
$phrase_holder .= "{%$current_a%}"; /* put a parameter holder on the phrase */
$current_a++;
}
elseif ($goto_arr_links == false) {
$phrase_holder .= $v;
}
}
echo "Links Array:\n";
print_r($arr_links);
echo "\n\n\nPhrase Holder:\n";
echo $phrase_holder;
echo "\n\n\n(pre) Final Phrase (with my keyword replaced):\n";
$final_phrase = str_replace("Moses", "Moses", $phrase_holder);
echo $final_phrase;
echo "\n\n\nFinal Phrase:\n";
foreach($arr_links as $k => $v)
{
$final_phrase = str_replace("{%$k%}", $v, $final_phrase);
}
echo $final_phrase;
输出:
链接数组:
Array
(
[0] => Moses
[1] => Moses
)
词组:
Moses supposes his toeses are roses,
but {%0%} supposes erroneously;
for nobody's toeses are posies of roses,
as Moses supposes his toeses to be.
Ganda {%1%}!
(上)最终词组(替换为我的关键字):
Moses supposes his toeses are roses,
but {%0%} supposes erroneously;
for nobody's toeses are posies of roses,
as Moses supposes his toeses to be.
Ganda {%1%}!
最终词组:
Moses supposes his toeses are roses,
but Moses supposes erroneously;
for nobody's toeses are posies of roses,
as Moses supposes his toeses to be.
Ganda Moses!
php使用正则表达式标记标题,PHP正则表达式以匹配HTML标记a之外的关键字相关推荐
- html js正则表达式语法,js正则表达式 非中文_js正则表达式匹配中文_js正则表达式语法...
腾讯云活动聚集了最新的降价打折.特惠折扣等资料,你在这里可以寻找云服务器.域名..小流程等等多种不同产品的促销活动,还有这些品牌的免费试用哦. 因为对js中的正则不太了解,可以参考一下js 中正则表达 ...
- java正则表达式的用法_Java 正则表达式的使用
Java 正则表达式的使用 1:正则表达式语法大全 字符 说明 \ 将下一字符标记为特殊字符.文本.反向引用或八进制转义符.例如,"n"匹配字符"n".&quo ...
- php 匹配双字节字符串,收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)...
正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番.我将一些常用的表达式收藏在这里,作备忘之用.本贴随时会更新,请持续关注本站. 匹配中文字符的正则表达式: ...
- 转载:常用正则表达式大全!(例如:匹配中文、匹配html)
常用正则表达式大全!(例如:匹配中文.匹配html) 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[ ...
- java正则表达式 过滤特殊字符的正则表达式
在网上找了好久也没找到个合适的正则表达式以过滤特殊字符:自己学习了下,写了两个,实现要求. Java代码 // 过滤特殊字符 public static String StringFilter(Str ...
- 所有字符不含换行 正则表达式_网络爬虫 | 正则表达式
正则表达式中匹配与查找 正则表达式,简称为regex,是文本模式的描述方法. >>> import re>>> pattern = re.compile('\d\d ...
- python正则表达式操作指南_Python重新正则表达式操作指南
PYTHON正则表达式指南 python re正则表达式模块的中文介绍: python re模块(正则表达式)提供类似于Perl和其他编程语言的常规匹配操作, 它是处理Python字符串的强大工具,具 ...
- mysql正则表达式配置_G. MySQL正则表达式
附录G:MySQL正则表达式 正则表达式是为复杂搜索指定模式的强大方式. MySQL采用Henry Spencer的正则表达式实施,其目标是符合POSIX 1003.2.请参见附录C:感谢.MySQL ...
- java linux runtime 正则表达式_Java学习之正则表达式
Java正则表达式字符串模式. 正则表达式可以用来搜索.编辑和处理文本. 正则表达式不尽限于一种语言,但在每一种语言中又细微的差别. java.util.regex包中主要有这3个类: Pattern ...
- python正则表达式详解compile_python正则表达式详解
前言正则表达式是一个特殊的字符序列,用来判断一个字符串与我们所设定的字符序列是否相匹配.实现快速检索文本和一些替换文本的操作. 在Python中我们有专门的正则表达式模块re,re 模块使 Pytho ...
最新文章
- 2020-09-21C++学习笔记之与C语言区别和加强——四种const意义(const int a; int const b; const int *c; int * const d)
- numpy.argwhere 返回的为索引值的array
- Python中的那些“坑”
- ***linux下mysql的root密码忘记解决方法
- 接口与事件之图形界面的认证登录
- notepad正则提取
- python模拟登录12306_python基于selenium模块实现自动登录12306网站
- 面试技能之软知识(HR面试问题回答)
- 蓝墨云班课在计算机应用基础的教学,蓝墨云班课在“计算机应用基础”课程教学中的应用效果分析...
- 虚拟麦克风音频输入_硅麦克风电路连接指南
- matlab画莫尔圆代码,EXCEL莫尔圆.xls
- java计算机毕业设计乒乓球俱乐部管理源码+系统+数据库+lw文档+mybatis+运行部署
- ContOs的网络配置
- 实用干货!正规的问答推广平台有哪些及其优势
- 尽管有节制的努力,pinterest仍保留着年轻女孩的反色情模因图片
- ElasticSearch 提示 future versions of Elasticsearch will require Java 11解决方法
- 小羊驼和你一起学习cocos2d-x与lua之三(lua匿名函数)
- ksu7对讲机调频软件_常见对讲机调频方法
- Cesium-Primitive图元的讲解
- Elias Kiritsis《String Theory in a Nutshell》(埃利亚斯·基里西斯《简明弦论》)中文目录