PHP strpos未定位“中逃出去了?通过转储字符串并查看源代码进行检查。就是这样!谢谢你的输入。你是如何输入数据字符串的。它是不是神奇地从>中逃出去了?通过转储字符串并查看源代码进行检查。就是这样!谢谢你的意见,就是这样。当我var_转储字符串时,它清楚地表明它是被编码的,因为这就是它的全部。当我var_转储字符串时,它清楚地显示它被编码为 php > var_dump(strpos('Rocks < Materials', ' < ')); int(5) php > var_dump(strpos('Rocks &lgt; Materials', ' < ')); bool(false) php > var_dump(strpos('Rocks < Materials', ' &lt; ')); bool(false)

PHP strpos未定位“中逃出去了?通过转储字符串并查看源代码进行检查。就是这样!谢谢你的输入。你是如何输入数据字符串的。它是不是神奇地从>中逃出去了?通过转储字符串并查看源代码进行检查。就是这样!谢谢你的意见,就是这样。当我var_转储字符串时,它清楚地表明它是被编码的,因为这就是它的全部。当我var_转储字符串时,它清楚地显示它被编码为 php > var_dump(strpos('Rocks < Materials', ' < ')); int(5) php > var_dump(strpos('Rocks &lgt; Materials', ' < ')); bool(false) php > var_dump(strpos('Rocks < Materials', ' &lt; ')); bool(false),php,string,Php,String,我遇到了PHP的strpos函数的一个相当奇特的行为。我需要遍历一个关键字字符串,并将URL输出到每个关键字 让我们以以下字符串为例: $elementText = "Bluffs, Cliffs, Grasses, Oceans, Rocks < Materials"; 下面是函数: <?php $i = 0; $hierarchySeparator = " < "; $subjects = explode(", ", $elementText); // loop thr

我遇到了PHP的strpos函数的一个相当奇特的行为。我需要遍历一个关键字字符串,并将URL输出到每个关键字

让我们以以下字符串为例:

$elementText = "Bluffs, Cliffs, Grasses, Oceans, Rocks < Materials";
下面是函数:

<?php
$i = 0;
$hierarchySeparator = " < ";
$subjects = explode(", ", $elementText);

// loop through keywords
foreach ($subjects as $subject) :

    // look for hierarchical keywords
    $found = strpos($subject, $hierarchySeparator);

    if($found !== false) :

        // extract and loop through hierarchical list
        $subSubjects = explode($hierarchySeparator, $subject);
        $j = 1;

        foreach ($subSubjects as $subSubject) : ?>
            <a href="<?php echo url('/mySearch?q=' . $subSubject) ; ?>"><?php echo $subSubject; ?></a>
            <?php
            // Re-ouput all relevant < signs
            if($j < count($subSubjects)) {
                echo " < ";
            }
            $j++;
        endforeach;
    else : ?>
        <a href="<?php echo url('/mySearch?q=' . $subject) ; ?>"><?php echo $subject; ?></a>            
    <?php endif; 

    // output commas to "nicefy" list output
    $i++;
    if($i < count($subjects)) {
        echo ",";
    } 
endforeach; ?>

但是,在我的服务器上,PHP无法检测到您确定它真的是吗您确定它真的是如何输入数据字符串的。它是不是神奇地从>中逃出去了?通过转储字符串并查看源代码进行检查。就是这样!谢谢你的输入。你是如何输入数据字符串的。它是不是神奇地从>中逃出去了?通过转储字符串并查看源代码进行检查。就是这样!谢谢你的意见,就是这样。当我var_转储字符串时,它清楚地表明它是被编码的,因为这就是它的全部。当我var_转储字符串时,它清楚地显示它被编码为
php > var_dump(strpos('Rocks < Materials', ' < '));
int(5)
php > var_dump(strpos('Rocks &lgt; Materials', ' < '));
bool(false)
php > var_dump(strpos('Rocks < Materials', ' &lt; '));
bool(false)