小编Tei*_*eiv的帖子

用PHP替换多余的空格和换行符?

$string = "My    text       has so    much   whitespace    




Plenty of    spaces  and            tabs";

echo preg_replace("/\s\s+/", " ", $string);
Run Code Online (Sandbox Code Playgroud)

我阅读了PHP的文档并遵循preg_replace的教程,但是这段代码产生了

我的文字有很多空白,有很多空格和标签

我怎样才能把它变成:

我的文字有很多空白,有
很多空格和标签

php regex whitespace

35
推荐指数
4
解决办法
6万
查看次数

PHP函数标志,怎么样?

我正在尝试创建一个以flags作为参数的函数,但输出总是与预期的不同:

define("FLAG_A", 1);  
define("FLAG_B", 4);  
define("FLAG_C", 7);  
function test_flags($flags) {  
 if($flags & FLAG_A) echo "A";  
 if($flags & FLAG_B) echo "B";  
 if($flags & FLAG_C) echo "C";   
}  
test_flags(FLAG_B | FLAG_C); # Output is always ABC, not BC  
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

php flags bit-manipulation function

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

使用DOM将文本节点附加和前置到HTML元素?

这是我的HTML代码

<html> 
    <body>
        <div>A sample block <div>and child block</div></div>    
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

如何使用DOM在不伤害其兄弟姐妹的情况下将文本节点附加到文本节点并将其添加到BODY元素中?

$dom = new DOMdocument();    
@$dom->loadHTML($html);    
$xpath = new DOMXPath($dom);    
$body = $xpath->query('//body')->item(0);    
Run Code Online (Sandbox Code Playgroud)

像这样

<html> 
    <body>
        Newly prepended text
        <div>A sample block <div>and child block</div></div>
        Newly appended text    
    </body>
</html>  
Run Code Online (Sandbox Code Playgroud)

html php dom append prepend

17
推荐指数
1
解决办法
2万
查看次数

打开一个新的标签/窗口并写一些内容?

我正在使用Execute JS在Firefox中编写和测试Javascript代码.我想打开一个新的标签/窗口并写一些东西,我试过了

var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
var win = wm.getMostRecentWindow("navigator:browser");
printWindow = win.open("about:blank");
printWindow = wm.getMostRecentWindow("navigator:browser");
printWindow.gBrowser.selectedBrowser.contentDocument.write('hello');
Run Code Online (Sandbox Code Playgroud)

myWindow=window.open('','','width=200,height=100')
myWindow.document.write("<p>This is 'myWindow'</p>")
myWindow.focus()
Run Code Online (Sandbox Code Playgroud)

但是我总是得到这个错误

[例外......"手术不安全." 代码:"18"nsresult:"0x80530012(SecurityError)"

有没有办法解决这个异常?

javascript firefox xpcom firefox-addon

13
推荐指数
2
解决办法
4万
查看次数

在cURL中更改上传文件的名称?

我想使用cURL上传文件.由于cURL需要文件的完整路径,所以这是我的代码:

curl_setopt($ch, CURLOPT_POSTFIELDS, array("submit" => "submit", "file" => "@path/to/file.ext"));
curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)

但是,cURL还会在请求标头中发布该文件的完整路径:

内容处理:表格数据; NAME = "文件"; 文件名= "/路径/到/ file.ext"

但我希望它只是

内容处理:表格数据; NAME = "文件"; 文件名= "file.ext"

所以我将代码更改为

curl_setopt($ch, CURLOPT_POSTFIELDS, array("submit" => "submit", "file" => "@file.ext"));
chdir("path/to"); # change current working directory to where the file is placed
curl_exec($ch);
chdir("path"); # change current working directory back
Run Code Online (Sandbox Code Playgroud)

然后cURL只会抛出一条错误消息

无法打开文件"file.ext"

有人能告诉我怎么做吗?

php post curl

13
推荐指数
2
解决办法
1万
查看次数

重复数组到一定长度?

我有一个数组,例如4个元素array("a", "b", "c", d");,重复这个数组的最快方法是创建一个具有一定长度的新数组,例如71个元素?

php arrays repeat

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

为什么运行MS Access查询时会出现"输入参数值"?

SELECT ID, 
       Name, 
       (SELECT CityName 
        FROM City 
        WHERE Employee.CityID = City.CityID) AS [City Name] 
FROM Employee 
WHERE [City Name] = "New York"
Run Code Online (Sandbox Code Playgroud)

我是要选择所有来纽约的员工,但每当我运行查询时,我总会得到一个"输入参数值"框.我怎样才能解决这个问题?

sql ms-access select subquery

7
推荐指数
1
解决办法
2万
查看次数

在Javascript中调用可变参数函数内的可变参数函数?

我有两个函数a()和b(),两者都是可变函数,让我说当我调用函数a()时这样:

a(arg0, arg1, arg2, arg3, ...., argn);
Run Code Online (Sandbox Code Playgroud)

然后函数b()也将在a()中调用,但是在()的参数列表中没有第一个参数"arg0":

b(arg1, arg2, arg3, ...., argn);
Run Code Online (Sandbox Code Playgroud)

有什么办法吗?

javascript function variadic

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

在PHP DOM中选择所选节点的下一个节点?

到目前为止,我正在处理这样的HTML文件

<div name="node"></div>
<div></div>
<div name="node"></div>
<div></div>
<div name="node"></div>
<div></div>
Run Code Online (Sandbox Code Playgroud)

我想选择每个"div"的下一个节点,其名称等于"node",我尝试:

$dom = new DOMdocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);

$els = $xpath->query("//div[@name='node']");

$j = 0;

foreach($els as $el)
{
    if($el->next_sibling()) $j++;
}

echo $j;
Run Code Online (Sandbox Code Playgroud)

但我只是得到一个错误

致命错误:调用未定义的方法DOMElement :: next_sibling()

有人能告诉我我的剧本有什么问题吗?

php xpath dom

7
推荐指数
3
解决办法
9777
查看次数

从弹出窗口在父窗口中提交表单?

我有2个像这样的HTML文件.

parent.html

<form method='get' action=''>
    <input type='hidden' name='something'>
    <input type='button' name='submit' value='Submit' onclick='newwindow=window.open("child.html","popup","height=150,width=200");'>
</form>
Run Code Online (Sandbox Code Playgroud)

child.html

Enter Something Here<br />
<input type='text' name='somethingelse'>
<input type='button' name='submit' value='OK'>
Run Code Online (Sandbox Code Playgroud)

当用户单击父级中的" 提交"按钮时,将显示一个新的弹出窗口并要求他输入内容.

任何人都可以告诉我如何将输入[somethingelse]的值从 child转移到输入[something]并在用户单击OK后在父级中提交表单?

html javascript

5
推荐指数
1
解决办法
4万
查看次数