javascript - 将代码从 JavaScript 转换为 PHP

标签 javascript php

我的代码存在一些类似“< i585 >”的东西。我想获取从“i”到“">”的字符串。并将“585”替换为“”。我用 JavaScript 编写了一些代码。

<script type="text/javascript">
var foo ="M <i585> <i646>";

while (foo.indexOf("<i") != -1) {

    var indexBaş = foo.indexOf("<i");

    var indexSon = foo.indexOf(">", indexBaş);

    var id = foo.substring(indexBaş + 2, indexSon);

    foo = foo.substring(0 , indexBaş) + id + foo.substring(indexSon + 1 , foo.lenght);

}
document.write(foo);
</script>

但是我必须将这段代码转换为 php。 所以我写了这段代码

$foo ="M <i585> <i646>";

$start = 0;
$kacTane= 0;

for($i = 0 ; $i < strlen($foo) ; $i++ ) {
    if($foo[$i] == "<") {
        if(($foo + 1 )< strlen($foo)) {
            if($foo[$i+1] == "i") {
                $kacTane++;
            }
        }

    }
}

for($i = 0; $i < $kacTane; $i++) {
    $ilkIndex = strpos($foo , "<" , $start);

    $sonindex = strpos($foo , ">" , $ilkIndex);

    $id = substr($foo , $ilkIndex + 2 ,( $sonIndex -3) - $ilkIndex  );

    $first = substr($foo , 0 , $ilkIndex +2);
    $second = substr($foo , $sonIndex + 1 , strlen($foo) - $sonIndex - 1 );

    $foo = "$first$id$second";
    $start = ($sonindex + 1);

}
echo $foo;

但这行不通。

抱歉英语不好。

最佳答案

也许可以进行一些赛前比赛?

$foo ="M <i585> <i646>";
preg_match_all('/<i(.*?)>/',$foo, $results); //search for all numbers

$patterns = array();
$replace = array();
foreach ($results[1] as $result){
  $patterns[] = '/<i'.$result.'>/';
  switch ($result) {
    case '585':
      $result = '333';
      break;
    case '646':
      $result = '444';
      break;
  }
  $replace[] = '<i'.$result.'>';
}

$replace = preg_replace($patterns, $replace, $foo); //if you just want to repleace then this single line (+ arrays) are all you need.
echo '<br>'.$replace;

关于javascript - 将代码从 JavaScript 转换为 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28605468/

相关文章:

JavaScript 清理器/净化器?

javascript - Cakephp 多个表单 1 提交按钮

javascript - Ajax PHP 响应登录

php - 在表单中发布数组值时未获取数组值

php - 谷歌站点地图日期格式

javascript - 如何将变量从 Razor 传递到 JavaScript?

Javascript - 查找与数组键对应的索引

javascript - 如何使用 javascript 按 id 计算长度 div?

php - 添加两个事件

Php - MySQL 从表中选择数据,然后更新同一个表