小编Joe*_* D.的帖子

正则表达式匹配字符串中的单词或短语但如果网址的一部分或<a> </a>标记内部不匹配.(PHP)

我知道正则表达式不适合与HTML字符串一起使用,我已经看过PHP Simple HTML DOM Parser,但仍然相信这是要走的路.所有HTML标签都将由我的论坛软件生成,因此它们将是一致且有效的HTML.

我想要做的是制作一个插件,它将在HTML字符串中找到一个关键字(或短语)列表,并用我指定的链接替换它们.例如,如果有人输入:

I use Amazon for that.
Run Code Online (Sandbox Code Playgroud)

它将取代它:

I use <a href="http://www.amazon.com">Amazon</a> for that.
Run Code Online (Sandbox Code Playgroud)

问题当然是如果"亚马逊"在URL中,它也会被替换.我用这个网站上的回调函数解决了这个问题,略有修改.

但是现在我还有一个问题,它仍然取代了开始和结束标签之间的单词.

<a href="http://www.amazon.com">My Amazon Link</a>
Run Code Online (Sandbox Code Playgroud)

它将匹配"我的亚马逊链接"中的"亚马逊"

我真正需要的是匹配说"亚马逊"的正则表达式,除了<a href和之间</a>

有任何想法吗?

html php regex preg-replace

2
推荐指数
2
解决办法
6055
查看次数

MySQL Query将查找用户使用相同IP地址的多个用户名

我已经在这个问题上做了一些功课,我很确定它会涉及加入一张桌子,但我还没到那里.

我有一个带有"帖子"表的论坛.它存储论坛上发布的每个帖子的ipaddress,用户名,用户ID和postid.

我试图获得一个查询,我可以每周运行一次,这将输出我在此期间已被多个用户ID使用的ipaddresses列表 - 并且postids涉及多个用户ID使用相同的ipaddress.

到目前为止,我从其他人的类似问题中得到了这个:

SELECT t1.userid,t2.userid, t1.username, t2.username, t1.ipaddress, t2.ipaddress, t1.postid, t2.postid
FROM qvb_post t1
INNER JOIN qvb_post t2 ON t1.ipaddress=t2.ipaddress AND t1.userid!=t2.userid
WHERE 
t1.dateline > 1335897698 AND t2.dateline > 1335897698
Run Code Online (Sandbox Code Playgroud)

但它返回了许多不必要的行IMO,例如它返回每个重复的方式 - 两者都好像userid 1使用了userid 2的ipaddress,再次就像userid2使用了userid1的地址一样.

日期线是几天前的.

理想情况下,我想按顺序查看重复用户名的ip地址列表,并为每个帖子重复,这样我就可以使用PHP并生成一个输出IP地址的报告,使用它的用户名(userids) ,以及他们创造的postids.

我知道有两个人拥有相同的IP地址有很多正当理由,请放心,不会因为出现在本报告中而对任何人采取严厉的行动.

提前感谢您提供的任何帮助.

为了清楚我对PHP很好,它只是我需要帮助的查询.

php mysql unique ip-address

1
推荐指数
1
解决办法
1936
查看次数

标签 统计

php ×2

html ×1

ip-address ×1

mysql ×1

preg-replace ×1

regex ×1

unique ×1