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参数,因为您有显示年龄的“条件”,因此必须使用PHPif 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;
}