大家好日子.我正在使用zend + smarty,但我不认为该框架与该问题有任何关系.我有以下场景:
A script that gets a string from a specified site using an api. The string is retrieved corectly so I'll just assign a string to a variable:
$string = 'String retrieved from api.';
$string = strstr($string, "<?xml", false);
libxml_use_internal_errors(true);
$xml = simplexml_load_string($body);
Run Code Online (Sandbox Code Playgroud)
听起来不错,看起来不错.现在问题.
当我在我们的本地测试机器上使用它时,它就像一个梦想.没问题.另一方面,在生产机器上我得到了这个:
警告:第720行/home/prj/include/DatabaseObject/Ctrl.php中的strstr()参数计数错误(这是strstr行).
我在两台机器上的strstr之前检查了字符串,它们是相同的.同样在strstr行之后的第二个服务器上,字符串变为空(在另一个服务器上,它被正确转换).
我真的不明白......代码是一样的.字符串是相同的.对我来说有点奇怪.
大家好日子.
我需要这样做.我有2个列表框,当按下按钮时,我需要将一个选项从一个移动到另一个.
我这样做了:
HTML:
<table border="1" cellpadding="5">
<tr>
<td>
Un-Selected <br />
<select multiple="multiple" id="selectBoxOne" size="5" class="selectListBox">
<option value="0" id="multiple0">Option 0</option>
<option value="1" id="multiple1">Option 1</option>
<option value="2" id="multiple2">Option 2</option>
<option value="3" id="multiple3">Option 3</option>
<option value="4" id="multiple4">Option 4</option>
<option value="5" id="multiple5">Option 5</option>
</select>
<br />
<input type="checkbox" id="selectAllFirst"/>Select All or Ctrl+Click
</td>
<td>
<div onclick="move('left');"> << </div>
<div onclick="move('right');"> >> </div>
</td>
<td>
Selected <br />
<select name="policyCode" multiple="multiple" id="selectBoxSecond" size="5" class="selectListBox">
</select>
<br />
<input type="checkbox" id="selectAllSecond"/>Select All or Ctrl+Click …Run Code Online (Sandbox Code Playgroud) 我有一个奇怪的问题.我想通过选择的子节点.简单吧?所以这是我的HTML:
<select multiple="multiple" id="selectBoxOne" size="5" class="selectListBox">
<option value="0" id="multiple0" {MULTIPSEL0}>0</option>
<option value="1" id="multiple1" {MULTIPSEL1}>1</option>
<option value="2" id="multiple2" {MULTIPSEL2}>2</option>
<option value="3" id="multiple3" {MULTIPSEL3}>3</option>
<option value="4" id="multiple4" {MULTIPSEL4}>4</option>
<option value="5" id="multiple5" {MULTIPSEL5}>5</option>
</select>
Run Code Online (Sandbox Code Playgroud)
问题是dom看起来像这样:

所以问题是我在真实节点之间有那些空节点.真实节点是1,3,5,7,9,11而不是1,2,3,4,5.所以如果我使用像:
alert(document.getElementById('selectBoxOne').childNodes[2].innerHTML);
Run Code Online (Sandbox Code Playgroud)
我得到了不确定.
我在很多地方使用这个脚本,所以我不能只读取奇数(因为其他地方都是正常的,没有空的孩子).
任何想法为什么会发生这种情况或如何解决它?谢谢你的时间.
注意:{MULTIPSEL4} - >是模板变量.在这种情况下是empy.在其他情况下是select ="selected".
JS:
for (i = 1; i <= optionNumber; i++)
{
selectOptions[i-1] = document.getElementById('selectBoxOne').childNodes[i].innerHTML;
}
alert(selectOptions);
Run Code Online (Sandbox Code Playgroud)
结果:

通常情况下,我们有与 setParameters 配对的 andWhere/orWhere 函数可以正确防止注入。
我有一个更复杂的案例,我想确保一切都是安全的。如果我正确阅读了教义代码,似乎使用文字具有相同的效果,但我不确定...你能吗?确认/确认以下两种情况是安全的(都使用准备好的语句和通配符注入防止 sql 注入)?
第一种情况
$expr = $queryBuilder->expr()->orX();
$expr->add($queryBuilder->expr()->lt('entityName.field - ' . $queryBuilder->expr()->literal($rule->getValue()), $queryBuilder->expr()->literal(self::MAX_ERROR))); // Since the second part is a constant (and a numeric one) it shouldn't need literal but... can't hurt.
Run Code Online (Sandbox Code Playgroud)
第二种情况
$expr = $queryBuilder->expr()->orX();
$expr->add($queryBuilder->expr()->like('entityName.field', $queryBuilder->expr()->literal(addcslashes($rule->getValue(), '%_') . '%')));
Run Code Online (Sandbox Code Playgroud) 我有以下设置:
<div id="whatever">
<!-- Here some dynamic divs will be loaded -->
</div>
Run Code Online (Sandbox Code Playgroud)
我需要知道什么时候"whatdiv"里面什么都没有.问题是,当我什么都不说时,我的意思是如果用户什么也看不见.所以如果在div里面就像
<div style="display: none">LOOOONG TEXT</div>
Run Code Online (Sandbox Code Playgroud)
加载我认为它是空的.
如果满是空格也是空的等等......如果用户没有看到任何内容,则为空.
由于有太多的案例需要覆盖(内容高度为0,内容显示无,空格,标签,隐藏输入等......几乎任何东西都可以根据情况加载)我尝试使用height属性来查看是否有内容(div根据内容扩展).这个想法没问题,但现在我有另一个问题:我必须在它上面添加display:none.当我这样做时,高度总是加载为0.我不能使用可见性,因为div有10px填充,我不想看到什么时候没有显示.所以我回到原点...找到某种方式来查看在所有情况下div是否为空.
知道我该怎么办?