如何实现这个正则替换?急!!

qxh0724 2008-04-11 09:43:18
如何把文章中类似<a href=/x_43b2c893>的链接 替换成 <a href="/x_43b2c893">

请问这个PHP 正则怎么写?

谢谢!
...全文
168 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
剑心永远OK 2008-04-15
  • 打赏
  • 举报
回复
正则很猛``
SysTem128 2008-04-12
  • 打赏
  • 举报
回复
晕……多了一个&出来~~

echo preg_replace('/(href|target|[a-z])=([^\s>"]+)/i','$1="$2"',$str);

就好
SysTem128 2008-04-12
  • 打赏
  • 举报
回复

<?php
$str='
<a href=/x_43b2c893> 无完整引号
<a href="/x_43b2c893" > 有完整引号

<a href=/x_43b2c893 target=_blank> 包含其他已知属性 且 无完整引号
<a href=/x_43b2c893 target="_blank"> 包含其他已知属性 且 有完整引号

<a href="/x_43b2c893" class=aLink > 包含其他未知属性 且 无完整引号
<a href="/x_43b2c893" class="aLink" > 包含其他未知属性 且 有整引号
';
echo preg_replace('/(href|target|[a-z])=([^\s&^>^"]+)/i','$1="$2"',$str);

# 这里并没有考虑到的情况有
/**
* <a href=/x_43b2c893" > 单面引号
* <a href='/x_43b2c893' > 单引号
* 可以在清理完引号后进行上面的替换操作.
* ……
*/
?>
ppxstar 2008-04-12
  • 打赏
  • 举报
回复
正则替换影响速度。
fxs_2008 2008-04-12
  • 打赏
  • 举报
回复
收藏了
SysTem128 2008-04-12
  • 打赏
  • 举报
回复

<?php
$str='
<a href=/x_43b2&c893> 无完整引号
<a href="/x_43b2c893" > 有完整引号

<a href=/x_43b2c893 target=_blank> 包含其他已知属性 且 无完整引号
<a href=/x_43b2c893 target="_blank"> 包含其他已知属性 且 有完整引号

<a href="/x_43b2c893" class=aLink > 包含其他未知属性 且 无完整引号
<a href="/x_43b2c893" class="aLink" > 包含其他未知属性 且 有整引号

<a href=/x_43b2c893" class=aLink" > 包含其他未知属性 且 单面引号
<a href="/x_43b2c893 class=aLink" > 包含其他未知属性 且 单面引号
';
echo preg_replace('/(href|target|[a-z])=([\"\']*)([^>"\'\s]+)[\s]*([\"\']*)/i','$1="\\3" ',$str);
?>
fxs_2008 2008-04-11
  • 打赏
  • 举报
回复
¦为|
fxs_2008 2008-04-11
  • 打赏
  • 举报
回复
PHP中
preg_replace('|<a href=(.*?)>|is','|<a href="\1">|',$str))
试试
fxs_2008 2008-04-11
  • 打赏
  • 举报
回复
DW中

<a href=(.*?)>

<a href="$1">
测试可以
如有其他语言将$1换成\1
引号要转义
fxs_2008 2008-04-11
  • 打赏
  • 举报
回复
DW中正则替换
<a href=(.*?)> (如果有空格<a href=(.*?) >)
替换
试试以下的
<a hrdf=\"$1\">
如不行去掉\
$1,换成\1


剑心永远OK 2008-04-11
  • 打赏
  • 举报
回复

$str='<a href=/x_43b2c893>
<a href=/x_43b21234>
<a href=/x_43baswq3>';
var_dump((preg_replace('/<a href=/','<a href="',$str)));

你就不能去试试吗??
qxh0724 2008-04-11
  • 打赏
  • 举报
回复
要用正则替换大量的 不止一个 啊

如文章中有
<a href=/x_43b2c893>
<a href=/x_43b21234>
<a href=/x_43baswq3>

全部替换成
<a href="/x_43b2c893">
<a href="/x_43b21234">
<a href="/x_43baswq3">


unlive 2008-04-11
  • 打赏
  • 举报
回复
$str = '<a href=/x_43b2c893>';
$pattern = "/\/x_[a-z0-9]{8}/i";
$replacement = "\"\$0\"";
$str = preg_replace($pattern, $replacement, $str);
echo $str;
剑心永远OK 2008-04-11
  • 打赏
  • 举报
回复

$str='<a href=/x_43b2c893>';
var_dump((preg_replace('/<a href=/','<a href="',$str)));
sunfan1010 2008-04-11
  • 打赏
  • 举报
回复
直接替换好啦

//$str = 文章的内容
$oldstr='<a href=/x_43b2c893>';
$encode='<a href="/x_43b2c893">';
$str = str_replace($oldstr,$encode,$str);
echo htmlspecialchars($str);
EmEditor Pro(文本编辑器) V15.9.0 绿色中文版 emeditor 破解版以运行轻巧、敏捷而又功能强大、丰富著称,作为简单好用的文本编辑器,EmEditor 支持多种配置,可自定义颜色、字体、工具栏、快捷键、行距等,支持文本列块选择、无限撤消/重做等,是替代记事本的最佳编辑器。 我最近一直在用 EmEditor,其便携性很适合影子系统,标签窗口也是极方便操作,现提供 EmEditor 12.0.4官方简体中文便携版,分别为 EmEditor 32 位和 64 位版。EmEditor 现已经添加了官方简体中文和繁体中文支持,无需额外汉化。 使用说明: 解压后直接运行主程序 EmEditor.exe 即可,所有配置都保存在 ini 文件中,纯绿色便携,完全兼容 Windows 7 及 PortableapPS.com 的便携平台,如果无法显示简体中文,可能需要重新配置。 2013/3/16 更新版本为 EmEditor 12.0.11 官方简体中文便携版,分别为 EmEditor 32 位和 64 位版。EmEditor 现已经添加了官方简体中文和繁体中文支持,无需额外汉化。 emeditor 破解版配置教程: 下面就让我们一起来通过图形化界面配置适合自己的EmEditor编辑器。 1、众多的图形界面配置功能 通过查看EmEditor的安装目录,可以发现,EmEditor有几个配置文件,理论上应该可以通过修改配置文件来达到配置EmEditor的目 的。然而,打开配置文件一看,如果您用过Vim,配置过Vim的话,会发现EmEditor的配置文件没法看。既然这样,那我们自然就会使用图形画界面来 配置了。 启动EmEditor,点击菜单栏上的工具菜单,该菜单下的几个子菜单就是配置用的。先来预览一下自定义和配置对话框。 通过配置对话框上的标签,您应该大概知道EmEditor的配置项有多少了吧,也应该相信EmEditor是很强大的,而且可以很有“个性”。 首先,来自定义EmEditor,相当于定义一个编辑环境。 2、自定义对话框 在自定义对话框中,很多定义采用默认即可。在此大概说一些polaris修改的几个地方。 1)在文件选项卡选中记住最后打开的文件夹。这样一定程度上方便了后续操作。 2)历史选项卡中可以记录最近打开文件记录,同时记录最近使用的字体。这样,在换字体时,只需要执行:查看菜单,就会有几个最近使用的字体。 3)查看:可以配置其他分栏的外观,如:资源管理器、大纲、输出窗口等;另外可以配置光标大小和颜色。 4)窗口:当时学Vim的时候,有一个很好的功能:保存当前工作环境,以便下次可以继续当前的工作。窗口就是用于配置这样类似的功能,不过似乎只能保存一个工作环境,没有Vim那么强大。 5)鼠标:配置鼠标按键执行的操作(主要是鼠标中建)。 6)状态栏:建议将所有选项勾选,在状态栏可以看到很多东西。 7)快捷方式:有一个很强大的功能,就是选中“在任务栏显示托盘符”,这样在任务栏可以方便的进行各种操作(通过自定义托盘图标)。 其他的选项您可以自己尝试。 3、打造共性 前面已经知道,EmEditor有一个“所有配置属性”。对,它是用于配置所有文件格式共同的属性。下面介绍常用配置。 3.1 常规选项卡 这是EmEditor最基本的一些配置。在这个选项卡中,一般建议勾选上显示标尺与行号,这是因为人们都习惯了编程(或阅读代码)时看到行号,这会 很方便定位,当然如果你不是程序员,可以不勾选。注意,这里勾选上,即使有些文件类型不想显示也没关系,别忘了EmEditor有“个性”化功能。 在这个选项卡有一个重要的配置项,那就是“制表符/缩进”,该对话框如下: 这里建议勾选上自动缩进和使用正则表达式,正则表达式的作用主要是为了编程缩进,以后再涉及。然后就是制表符大小和缩进大小,一般都会设置成4。 3.2 滚动选项卡 这里主要用于设置屏幕移动,根据你的习惯或爱好配置即可。有两个地方提一下: 1)“总是启用一页垂直滚动”。在使用编辑器的过程中,您肯定遇到过这种情况:编辑到了文件末尾,看着不方便,然后你就会按很多次回车来产生很多空 行,以使编辑行在中间。EmEditor提供了很好的解决方案,只需要勾选上“总是启用一页垂直滚动”,EmEditor便一直有一空页,让你的编辑总是 在上面或中间,而且没有产生多余的空行。 2)“水平格线”。选中后看起来像这样: 如果您喜欢可以勾选上。 3.3 文件选项卡 主要配置文件新建、编辑、保存时得一些信息,涉及文件编码等。一般采用默认即可。 3.4 备份、自动保存和关联选项卡 从标签名很容易知道功能。polaris备份功能一般不用(不喜欢它产生临时文件。呵呵。不过似乎不备

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧