Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP设置id的值_Php - Fatal编程技术网

PHP设置id的值

PHP设置id的值,php,Php,我有一些包含变量数据的文本 My age is: <span class="var" id="age">54</span> and my name is <span class="var" id="name">Matt</span> 我的年龄是54岁,我的名字是马特 如果没有设置url参数,那么页面使用54,这是正确的,但是如果我在url中设置了年龄,例如?age=20,那么我希望将年龄设置为20 文本来自数据库,并设置为名为$content的

我有一些包含变量数据的文本

My age is: <span class="var" id="age">54</span> and my name is <span class="var" id="name">Matt</span>
我的年龄是54岁,我的名字是马特
如果没有设置url参数,那么页面使用54,这是正确的,但是如果我在url中设置了年龄,例如
?age=20
,那么我希望将年龄设置为20

文本来自数据库,并设置为名为
$content
的变量

不是复制品。文本来自数据库,只需更换url参数,因为您有显示年龄的“条件”,因此必须使用PHP
if else
检查日期。下面是可以与解释一起使用的代码

假设下面的字符串是您从db字段获得的字符串

$fetched_string = '<p> My Smith from <span class="var" id="town">Manchester, aged, <span >class="var" id="age">54</span>';
现在,您只需在获取时间的左侧(将是searchStart)和右侧(searchEnd)传递字符串值。下面是执行此操作的代码

$fetched_age = str_between($fetched_string, 'id="age">', '</span>');
$fetched\u age=str\u between($fetched\u string,'id=“age”>,'');
基于此,我修改了最终代码,您可以按原样使用

//To get the data from a URL, $_GET method is used. First you will check if the "age" has been set in the URL or not. This is done by:

function str_between($string, $searchStart, $searchEnd, $offset = 0) {
    $startPosition = strpos($string, $searchStart, $offset);

    if ($startPosition !== false) {
        $searchStartLength = strlen($searchStart);
        $endPosition = strpos($string, $searchEnd, $startPosition + 1);

        if ($endPosition !== false) {
            return substr($string, $startPosition + $searchStartLength, $endPosition - $searchStartLength);
        }

        return substr($string, $startPosition + $searchStartLength);
    }

    return $string;
}

//Fetched String for db
$fetched_string = $row['full_string'];

//This will give you the age
$fetched_age = str_between($fetched_string, 'id="age">', '</span>');

if (isset($_GET['age'])) {
    //If age is set in the URL, assign it to the PHP Variable
    $age_display = $_GET['age'];
}
else {
    //If age is not set, then assign the age fetched from the db.
    $age_display = $fetched_age;
}
//要从URL获取数据,使用$\u get方法。首先,您将检查URL中是否设置了“年龄”。这是通过以下方式实现的:
函数str_在($string、$searchStart、$searchEnd、$offset=0)之间{
$startPosition=strpos($string、$searchStart、$offset);
如果($startPosition!==false){
$searchstartength=strlen($searchStart);
$endPosition=strpos($string,$searchEnd,$startPosition+1);
如果($endPosition!==false){
返回substr($string,$startPosition+$searchStartLength,$endPosition-$searchStartLength);
}
返回substr($string,$startPosition+$searchStartLength);
}
返回$string;
}
//为数据库获取的字符串
$fetched_string=$row['full_string'];
//这会给你年龄
$fetched_age=str_-between($fetched_-string,'id=“age”>,'');
如果(isset($_GET['age'])){
//如果URL中设置了age,则将其分配给PHP变量
$age\u display=$\u GET['age'];
}
否则{
//如果未设置年龄,则分配从数据库获取的年龄。
$age\u display=$fetched\u age;
}

这就是你要找的吗?

看一看——它应该会让你明白。我可以不使用DOM设置id吗?这个问题可能有助于你更改数据库中的值,还是只更改每页显示的内容?如果是后者,javascript解决方案是否可以接受(因为它非常简单)是的,Steve就在页面上。然而,我可以在一篇文章中有一些变量字段,如姓名年龄、城镇等。如果这些字段作为url参数存在,则所有这些字段都需要替换。问题是我有很多不同的文章,因此没有硬编码。年龄54在文章中设置并存储在数据库中。如果存在年龄变量,则我希望在页面上替换此变量。您从哪里获得
?年龄=20
?同时也要确定你54岁的年龄是从哪里来的。这将有助于解决问题。54在文章中设置并存储在数据库中?age=20是一个url参数,该参数存在,需要替换54I。我已根据您的要求编辑了答案。如果您需要进一步的帮助,请共享从db获取年龄的代码。Hi Mohammed,类似于此,但是54不在单独的列中,而是在文本的一段中
//To get the data from a URL, $_GET method is used. First you will check if the "age" has been set in the URL or not. This is done by:

function str_between($string, $searchStart, $searchEnd, $offset = 0) {
    $startPosition = strpos($string, $searchStart, $offset);

    if ($startPosition !== false) {
        $searchStartLength = strlen($searchStart);
        $endPosition = strpos($string, $searchEnd, $startPosition + 1);

        if ($endPosition !== false) {
            return substr($string, $startPosition + $searchStartLength, $endPosition - $searchStartLength);
        }

        return substr($string, $startPosition + $searchStartLength);
    }

    return $string;
}

//Fetched String for db
$fetched_string = $row['full_string'];

//This will give you the age
$fetched_age = str_between($fetched_string, 'id="age">', '</span>');

if (isset($_GET['age'])) {
    //If age is set in the URL, assign it to the PHP Variable
    $age_display = $_GET['age'];
}
else {
    //If age is not set, then assign the age fetched from the db.
    $age_display = $fetched_age;
}