$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的教程,但是这段代码产生了
我的文字有很多空白,有很多空格和标签
我怎样才能把它变成:
我的文字有很多空白,有
很多空格和标签
我正在尝试创建一个以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)
我该如何解决这个问题?
这是我的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) 我正在使用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)"
有没有办法解决这个异常?
我想使用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"
有人能告诉我怎么做吗?
我有一个数组,例如4个元素array("a", "b", "c", d");,重复这个数组的最快方法是创建一个具有一定长度的新数组,例如71个元素?
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)
我是要选择所有来纽约的员工,但每当我运行查询时,我总会得到一个"输入参数值"框.我怎样才能解决这个问题?
我有两个函数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)
有什么办法吗?
到目前为止,我正在处理这样的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()
有人能告诉我我的剧本有什么问题吗?
我有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后在父级中提交表单?