我在PHP应用程序中有一些代码,当我尝试在生产服务器上使用它时返回null,但它在开发服务器上工作正常.这是代码行:
// use the regex unicode support to separate the UTF-8 characters into an array
preg_match_all( '/./us', $str, $match );
Run Code Online (Sandbox Code Playgroud)
u依赖的标志是什么?我测试了mb_string启用和禁用,它似乎没有影响它.
我得到的错误是
preg_match_all: Compilation failed: unknown option bit(s) set at offset -1
更多信息
这是prodction服务器上的选项之一:
'--with-pcre-regex=/opt/pcre'
这是pcre部分
Picture.png http://img829.imageshack.us/img829/8524/pictureke.png
我相信这是@Wesley所指的注释:
In order process UTF-8 strings, you must build PCRE to include UTF-8
support in the code, and, in addition, you must call pcre_compile()
with the PCRE_UTF8 option flag, or the pattern must start with the
sequence (*UTF8). When …Run Code Online (Sandbox Code Playgroud) 我在CMS上安装了TinyMCE,用户一直在粘贴内联数据类型的图像.这种事:
<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7"
width="16" height="14" alt="embedded folder icon">
Run Code Online (Sandbox Code Playgroud)
他们粘贴在一些非常大的图像中,内容存储在数据库中.这使得数据库的大小变得非常快,并且已经有可用的媒体上传组件,那么我怎样才能简单地阻止编辑器接受这种类型的图像呢?
所以我对正则表达式非常好,但是我在unix上遇到了一些问题.以下是我想知道如何做的两件事:
1)替换除字母,数字和下划线之外的所有文本
在PHP中我会这样做:(效果很好)
preg_replace('#[^a-zA-Z0-9_]#','',$text).
在bash中我试过这个(成效有限); 好像它不允许你使用全套正则表达式:
text="my #1 example!"
${text/[^a-zA-Z0-9_]/'')
我用sed尝试了它,但它似乎仍然有完整的正则表达集的问题:
echo "my #1 example!" | sed s/[^a-zA-Z0-9\_]//
我确定有一种方法可以用grep来做,但是当我尝试时它将它分成多行:
echo abc\!\@\#\$\%\^\&\*\(222 | grep -Eos '[a-zA-Z0-9\_]+'
最后我也尝试使用expr,但似乎对扩展正则表达式的支持非常有限......
在PHP中我可以做这样的事情:
preg_match('#(word1).*(word2)#',$text,$matches);
我不确定在*nix中怎么可能......
我刚刚注册了雅虎开发人员API密钥.他们没有通过电子邮件向我发送链接或信息.它已被批准,但我无法确定在哪里查看生成的API.所有与谷歌的链接似乎再次指向应用程序页面.
我能在哪里找到我的API密钥?!
ps:我讨厌你,雅虎.
在新设计的phpMyAdmin(目前为3.4.2)中,如何将导出默认设置为"将输出视为文本"?
这曾经工作但不再适用:
$cfg['Export']['asfile'] = false;
在查看完代码之后我尝试了这些东西display_export.lib.php,但没有运气:
$cfg['Export']['repopulate'] = true; $cfg['Export']['view_as_text'] = true;
他们的文档似乎没有更新:http://wiki.phpmyadmin.net/pma/Config
在任何人都能找到改变这种情况的"正确方法"之前,我建议修改这一行display_export.lib.php(目前为第328行).粗体文字是我的补充.还有一个括号,用粗体加到第一组粗体项的右边.
<li><input type="radio" id="radio_view_as_text" name="output_format" value="astext" <?php echo (!empty($cfg['Export']['view_as_text']) || isset($_GET['repopulate']) ) ? 'checked="checked"' : '' ?>/><label for="radio_view_as_text"><?php echo __('View output as text'); ?></label></li>
如何使用applescript在photoshop(cs5)中获取当前打开的文件路径?
我在Mac OSX 10.7上使用CS5
我已经尝试了下面的答案,它在Applescript编辑器中给出了以下错误:
error "Adobe Photoshop CS5 got an error: Can’t get document 1.
Invalid index." number -1719 from document 1
Run Code Online (Sandbox Code Playgroud) 我问如何在同一窗口中保存和预览"预览发布"按钮?在Wordpress Stack Exchange上,但这可能是Stack Overflow的一个更好的问题,因为它与编码更直接相关.
Wordpress有一个框,允许您保存,预览和发布您的博客帖子:
Picture.png http://img854.imageshack.us/img854/7986/picturek.png
"预览"按钮实际上是一个设为按钮的链接:
<a tabindex="4" id="post-preview" target="wp-preview"
href="/?p=67&preview=true" class="preview button">Preview</a>
Run Code Online (Sandbox Code Playgroud)
我的问题是我似乎无法弄清楚如何在当前窗口中打开该链接.请注意该target="wp-preview"部分.我试图摆脱那个部分,但我认为可能有另一个函数绑定到该元素,因为我真的无法让它在当前的选项卡/窗口中打开,即使解除绑定并删除target属性.
我正在运行以下代码作为插件的一部分(您可以在下面看到有关如何将其作为插件运行的更多信息),但也可以将其复制并粘贴到Chrome或Firefox的控制台中以自行测试甚至修改Wordpress.请注意,在测试时,您需要使用jQuery而不是$在您自己的函数中,因为Wordpress使用该noconflict方法,但是下面的代码工作正常.
//select the node and cache the selection into a variable
var $node = jQuery('a.preview');
//add a 1px dotted outline to show we have the right element
$node.css('outline','1px dotted red');
//show current target
console.log($node.prop('target'));
//show if anything is bound - nothing is for me ('undefined')
console.log($node.data('events'));
//remove anything bound to it
$node.unbind(); …Run Code Online (Sandbox Code Playgroud) 使用Wordpress可视化编辑器时,如果您有[gallery]短代码,则在可视模式下会显示一个占位符.
单击占位符将覆盖两个图标 - 编辑库和删除库.
我正在试图找出点击"编辑图库"时触发的功能.
该按钮是一个带有dom id的图像,wp_editgallery它的外观如下:
screenshot-with-shadow.png http://img855.imageshack.us/img855/4526/screenshotwithshadow.png
我的直觉是使用Chrome的网络检查器检查元素:
http://img818.imageshack.us/img818/4526/screenshotwithshadow.png
找到元素后,我查看属性面板并查找事件,但结果有点神秘:
screenshot-with-shadow.png http://img690.imageshack.us/img690/4526/screenshotwithshadow.png
到目前为止,我已经尝试了上述方法,并且还:
var events = jQuery._data('#wp_editgallery', 'events');
Run Code Online (Sandbox Code Playgroud)
正如在如何查看绑定到DOM元素的确切事件中所建议的那样?我也尝试过使用Visual Event那篇帖子中提到的 - 两者都没有成功.
有没有更简单的方法来找出javascript函数绑定到DOM元素的事件监听器?
javascript jquery google-chrome event-listener web-inspector
当我跑去bundle init开始一个新项目时,我得到一个标准的Gemfile:
# A sample Gemfile
source "https://rubygems.org"
# gem "rails"
Run Code Online (Sandbox Code Playgroud)
我该如何定制?
我的目标是在gems默认包含的几乎每个项目中使用一些.
我在bundle init文档中看到它可以与一个--gemspec=FILE选项一起使用,但有没有办法自定义刚刚使用时出现的默认版本bundle init?