问题标签 [preg-replace-callback]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - php preg_replace 词链接,但词不能已经作为锚的一部分
我有一些 HTML 内容:
而且我想将所有“nulla”单词替换为链接,但前提是“nulla”不是另一个链接 url 或其他 HTML 参数(标题、alt)的一部分。在上面的示例脚本中,应该只替换第一个和最后一个“nulla”单词,其他的保持原样。我坚持使用这个正则表达式,但它不能按我想要的方式工作:
php - PHP preg_replace_callback 正确转义以处理哈希符号('#')
我正在使用 Twitter 提要进行一些工作,并希望将任何主题标签转换为 clicable URL。
井号标签是一个井号 ('#'),后面紧跟一个充当搜索标签的词 - 并且不包含空格。
一个例子是......
这里有两个标签,#Shoreditch 和#AutoClubRev。
这些应分别成为以下链接...
https://twitter.com/#!/search?q=%23Shoreditch 和 https://twitter.com/#!/search?q=%23AutoClubRev
我假设我应该在这里使用 preg_replace_callback 而不仅仅是 vanilla preg_replace,因为我正在尝试获取反向引用 ($1) 并更改它而不仅仅是显示它。但我当然可能是错的。我不关心使用哪个功能——只要它能完成工作并且相对有效。
谢谢,皮特
php - PHP Preg 替换替换数组
好的,所以我正在尝试做这样的事情:
preg_replace("/\{([a-zA-Z0-9_]+)\}/", $templateVariables[$1], $templateString);
现在我知道这是不可能的,但是我想知道是否有办法做到这一点,因为我尝试使用 create_function 但是,$templateVariables 是它所在函数的局部变量,所以我无法从 create_function 中访问 $templateVariables,所以我有点卡在这里。我宁愿不必找到匹配项找出替换它们的内容,然后再次找到它们进行替换,这看起来效率低下。那么无论如何我可以从匿名函数中获取局部变量,或者有没有人有任何好的建议。
谢谢。
php - 使用 preg_replace_callback 识别和操作 Latex 代码
我有以下形式的乳胶+ html代码:
首先,我想获取数组代码 [] 中的乳胶代码,以便能够将它们发送到服务器进行渲染,这样
其次,我想修改这个文本,使它看起来像:
即,第 i 个乳胶代码片段被第 i 个渲染图像的链接替换。
我一直在尝试使用 preg_replace_callback 和 preg_match_all 来做到这一点,但是对于 PHP 来说是新手还不能让它工作。请指教。
php - preg_replace_callback() 中的第二个参数
我对preg_replace_callback()
PHP 中的函数有疑问。我想调用一个需要两个参数的函数。
在互联网上,我找到了这段代码:
但是在函数 foo 中,我不能使用通常与 preg_replace_callback 一起使用的匹配数组
我希望你能帮帮我!
php - 使用 preg_replace_callback 函数替换结束 div 标签
我正在尝试开发一个 PHP 脚本,它将 HTML 字符串中的所有 div 替换为段落,除了那些具有属性的段落(例如<div id="1">
)。我的脚本目前做的第一件事是使用简单的 str_replace() 替换所有出现的<div>
with <p>
,这会留下任何带有属性的 div 标记和结束 div 标记 ( </div>
)。但是,用</div>
标签替换标签</p>
有点问题。
到目前为止,我已经开发了一个 preg_replace_callback 函数,该函数旨在将一些</div>
标签转换为</p>
标签以匹配开始标签,但当它们以属性结束时<p>
忽略其他标签。下面是我正在使用的脚本;</div>
<div>
该脚本基本上将所有剩余的<div>
和</div>
标签放入一个数组中,然后循环遍历它。然后,计数器变量在遇到<div>
标签时递增,或者在遇到</div>
数组中的 a 时递减。当计数器小于 0 时,返回一个</p>
标签,否则</div>
返回一个。脚本的输出应该是;
相反,我得到的输出是;
我花了几个小时对脚本进行了我能想到的尽可能多的编辑,而且我一直得到相同的输出。谁能向我解释我哪里出错或提供替代解决方案?
任何帮助,将不胜感激。
php - 为什么这个 preg_replace_callback 不触发?
当我在下面的第二个内容片段上运行此脚本时,它通过了(我得到“内部回调”回声)。
但是,当我在第一个内容片段上运行它时,即使我得到了第一个回声,我也从来没有在 p_callback() 中得到回声。
我猜内容中有些东西会触发 preg_replace_callback。你会建议是什么导致了这个问题?
第一个内容片段失败:
第二个内容片段通过:
php - 在 preg_replace (preg_replace_callback?) 的第二个或第三个任期内应用函数
我在下面有一个简单的(BBCode)PHP 代码,用于将代码插入评论/帖子。
我想要做的是在这些位置插入函数:
根据我在 SO 上阅读的内容,我可能需要使用preg_replace_callback()
或 e-modifier,但我无法弄清楚如何去做;我对正则表达式的了解不是很好。将不胜感激一些帮助!
php - 以不同方式处理 preg_replace_callback 中的部分字符串
我得到了一个字符串,我在其中替换了所有出现的[CODE]...[/CODE]
. 我preg_replace_callback
可以调用一个处理这些标签内容的函数吗?但是我怎样才能操纵这些事件周围的所有字符串呢?
例子:
现在,在这种情况下,preg_replace_callback
我操纵 , 的内容。但我想要这个字符串中的所有其他文本,所以做一些不同的事情。我怎么能以最好的方式做到这一点?[CODE]
some code
Hello, I am a string with
in it
谢谢你的帮助!
弗洛
php - PHP PREG_REPLACE REGEX 提及用户名
用户模型.php
post_model.php
post_helper.php
首先,英语不是我的母语。所以,如果我的语法不好,请原谅我。
对于我学校的期末项目,我只想创建类似 Facebook 的网站(社交网络)。我的问题是,我想根据用户名(用户数据库)创建提及功能。如果在 Facebook 上键入@符号后,Facebook 系统开始查询最可能的朋友/页面,并显示很酷的 ajax 列表。但我不想那样,在我的系统中没有 ajax 列表显示。
如果用户使用@bias 或@tegaralaga 或@admin 等字符串发布状态更新“@tegaralaga 你在哪里?” 例如。我对数据库的系统检查是否有任何用户名为 @tegaralaga 的用户,如果是,则基于user_model.php函数get_fullname_by_username(); 它将返回user_first_name和user_last_name数据。但如果没有,它将返回 FALSE。在我的用户表上,有一个用户名为 tegaralaga,user_first_name 是 Bias,user_last_name 是 Tegaralaga。
移动到post_helper.php,如果 $name==FALSE 它将给出当前字符串 @tegaralaga。但是如果用户名存在,它会返回
如果存在,则字符串变为
如果没有,字符串仍然
所以我的问题是:
1. 上面的代码是否可以使用 preg_replace_callback?(查看 post_helper.php)
2. 如果可能的话,如果我们可以提及超过 1 个用户名,那么完美的正则表达式是什么,以及电子邮件地址的例外(因为电子邮件地址也包含 @ 符号)