我正在尝试使用php和.htaccess创建一个url处理程序,我的问题是,只有在url中输入的文件\目录不存在时,我才知道如何使用重写条件.
我正在努力验证我的评论脚本,我需要删除除西欧使用的所有非字母数字字符.
我的计划是使用以下方法对所有非字母数字字符进行正则表达式:
preg_replace("/[^A-Za-z0-9 ]/", '', $string);
Run Code Online (Sandbox Code Playgroud)
但到目前为止,所有欧洲角色和一个£符号都被删除,因此"CaféRouge"变成了"Caf Rouge".
如何在上面的正则表达式中添加一组欧元字符.
该数组是:
£, €,
á, à, â, ä, æ, ã, å,
è, é, ê, ë,
î, ï, í, ì,
ô, ö, ò, ó, ø, õ,
û, ü, ù, ú,
ÿ,
ñ,
ß
Run Code Online (Sandbox Code Playgroud)
我使用UTF-8
解:
$comment = preg_replace('/[^\p{Latin}\d\s\p{P}]/u', '', $comment);
Run Code Online (Sandbox Code Playgroud)
和
$name = preg_replace('/[^\p{Latin}]/u', '', $name);
Run Code Online (Sandbox Code Playgroud)
$ name aslo删除标点符号和空格
感谢您的快速回复
我有这个Base64 PNG,我想解码到JPG.如果我转换为PNG它工作正常,使用:
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
file_put_contents('myDirectory/filename.png', $data);
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试将其保存为JPG,则使用(MyDirectory/filename.jpg)以黑白方式显示.
如何将其转换为JPG?这是我的Base64 PNG的一个例子:
data:image/png;base64,iVBORw0KGgoAAAANSUhE...
Run Code Online (Sandbox Code Playgroud) 所以这是包含我的凭据的数组.
'mysql' => array(
'host' => '127.0.0.1',
'username' => 'root',
'password' => '*',
'db' => 's'
)
Run Code Online (Sandbox Code Playgroud)
和实际的连接
try{
$this->_pdo = new PDO('mysql:host=' . Config::get('mysql/host') . ';dbname=' . Config::get('mysql/db'),Config::get('mysql/username'),Config::get('mysql/username'));
}
catch(PDOException $e){
die($e->getMessage());
}
Run Code Online (Sandbox Code Playgroud)
这就是我得到的错误
SQLSTATE [28000] [1045]拒绝访问用户'root'@'localhost'(使用密码:YES)
但我知道这意味着访问被拒绝,但凭据是100%正确的.我还通过命令行和工作台进行了测试.
Google+ API的结果已\ufeff附加到每个"内容"结果的末尾(我真的不知道为什么?)
从json结果中删除此unicode字符的最佳方法是什么?它正在生成'?'一些我正在显示的输出.
例:
https://developers.google.com/+/api/latest/activities/get#try-it
Run Code Online (Sandbox Code Playgroud)
输入活动ID
z12pvrsoaxqlw5imi22sdd35jwvkglj5204
Run Code Online (Sandbox Code Playgroud)
然后单击执行,结果将是:
{
.....
"object": {
......
"content": "CONTENT OF GOOGLE PLUS POST HERE \ufeff",
......
Run Code Online (Sandbox Code Playgroud)
显示'?'的示例PHP代码 其中'\ ufeff'是:
<?php
$data = json_decode($result_from_google_plus_api, true);
echo $data['object']['content'];
// outputs "CONTENT OF GOOGLE PLUS POST HERE ?"
echo trim($data['object']['content']);
// outputs "CONTENT OF GOOGLE PLUS POST HERE ?"
Run Code Online (Sandbox Code Playgroud)
或者我是以错误的方式来做这件事的?我应该修理'?' 问题而不是试图删除'\ufeff'?
我正在备份一个大小约为190 GB的数据库.我想将数据库备份到本地文件.这是我使用的命令:
mysqldump -u root -p tradeData > /db_backup/tradeData.sql
Run Code Online (Sandbox Code Playgroud)
我的机器上有足够的空间.我尝试了很多次没有错误,但我总是得到一个大小约为122GB的结果文件.
有没有人有备份大型数据库的经验?我的机器是Linux机器.
我看过其他10个帖子,其中的人似乎和我有同样的问题,大多数建议推杆set_time_limit(0);.但即便如此,无论我运行什么脚本,总是在大约9-10分钟之后它就会停止.
我曾尝试以下3个变量的这么多的组合,将它们设置为-1,0,9999999,总是停下来.不久前,我在下面运行了完全相同的脚本.而且有一天我对任何脚本都有这个问题.
我100%确定它在完成之前就已经停止了,并且由于错误而没有停止.因为我的任何脚本现在停止在相同的应用程序运行时.
非常沮丧,任何帮助将不胜感激.
在php.ini中:
max_input_time = -1
max_execution_time = 0
set_time_limit = 0
Run Code Online (Sandbox Code Playgroud)
另一个脚本:(也在10分钟后停止)
<?php
set_time_limit(0);
ignore_user_abort(true);
function categoryinsert($english, $name, $keywords, $language)
{
if(!$english)
{
echo "no english recieved! in categoryinsert<br />";
return 0;
}
else if(!$name)
{
echo "no name recieved! in categoryinsert<br />";
return 0;
}
else if(!$language)
{
echo "no language recieved! in categoryinsert<br />";
return 0;
}
$DBConnect = mysqli_connect("localhost", "USER***", "************");
mysqli_set_charset($DBConnect, "utf8");
mysqli_select_db($DBConnect, "db***");
$qwry …Run Code Online (Sandbox Code Playgroud) 我们在里面添加一个文件Myfile.php:
require_once 'abc.php';
Run Code Online (Sandbox Code Playgroud)
要么
include_once 'abc.php';
Run Code Online (Sandbox Code Playgroud)
我们将如何删除文件?或者如何abc.php在某段代码之后停止访问文件内容?
我正在完成 AngularJS 应用程序的基本设置(刚刚开始),目前正在尝试为该应用程序安装 Bower 组件。
当我bower install从终端运行时,出现以下错误:
Error: Cannot find module 'js-yaml'
at Function.Module._resolveFilename (module.js:337:15)
at Function.Module._load (module.js:287:25)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (Path\bower\node_modules\configstore\index.js:9:12)
at Module._compile (module.js:425:26)
at Object.Module._extensions..js (module.js:432:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
Run Code Online (Sandbox Code Playgroud)
我没有js-yaml在我的脚本中的任何地方指定模块(据我所知),所以不确定这个依赖项来自哪里。
我尝试删除 node_modules 文件夹,清除 npm 缓存,包括js-yaml在package.json文件中,然后重新运行 npm install,但在运行时出现相同的错误bower install
如果有帮助,我的bower.json和package.json文件如下所示:
Bower.json
{
"name": "starter-node-angular",
"version": "1.0.0",
"dependencies": {
"bootstrap": "latest",
"font-awesome": "latest", …Run Code Online (Sandbox Code Playgroud) 我一直在阅读、搜索和试用不同的方法来编写正则表达式,例如 p{L}、[az] 和 \w,但我似乎无法得到我想要的结果。
我有一个由带有标点符号的完整句子组成的数组,我正在使用以下 pre_match 解析一个数组,它在保留单词和标点符号方面效果很好。
preg_match_all('/(\w+|[.;?!,:])/', $match, $matches)
Run Code Online (Sandbox Code Playgroud)
但是,我现在有这样的词:
我希望能够保持这些单词的完整性(连接),但我当前的 preg_match 将它们分解为单个单词。
preg_match_all('/(p{L}-p{L}+|[.;?!,:])/', $match, $matches)
Run Code Online (Sandbox Code Playgroud)
和;
preg_match_all('/((?i)^[\p{L}0-9_-]+|[.;?!,:])/', $match, $matches)
Run Code Online (Sandbox Code Playgroud)
我从这里找到的
但无法达到这个预期的结果:
Array ( [0] A, [1] word, [2] like_this, [3] connected, [4] ; ,[5] with-relevant-punctuation)
Run Code Online (Sandbox Code Playgroud)
理想情况下,我还可以考虑特殊字符,因为其中一些单词可能带有重音