|
|
|
สอบถามเรื่อง str_replace หน่อยครับ คือผมมี text อยู่ชุดนึงแบบนี้ครับ $text = 'width="320" height="290"'; *แต่ทีนี้ค่า width กับ height |
|
|
|
|
|
|
|
Code (PHP)
<?php
$text = 'width="320" height="290"';
$rep1_start = strpos($text,'width="')+strlen('width="');
$rep1_end =strpos($text,"\"",$rep1_start);
$len1 =$rep1_end-$rep1_start;
$newwidth="500";
$text =substr_replace($text,$newwidth,$rep1_start,$len1);
$rep2_start = strpos($text,'height="')+strlen('height="');
$rep2_end =strpos($text,"\"",$rep2_start);
$len2 =$rep2_end-$rep2_start;
$newheight="600";
$text =substr_replace($text,$newheight,$rep2_start,$len2);
?>
ลองทำความเข้าใจเองน่ะ
|
|
|
|
|
Date :
2009-12-01 12:04:30 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ code ทำงานได้เจ๋งเลยครับ
แต่ถ้า text มันมี width กับ height 2 ชุด (แต่ค่าตัวเลขเท่ากัน) เช่น
$text = 'width="400" height="250" fsldkfj fs;lkdjf jf;klds and width="400" height="250"';
มันจะเปลี่ยน แค่ width กับ height คู่แรกครับ
ผมลองนั่งทำเพิ่มจะให้มันเปลี่ยนตัวเลขทั้ง 2 ชุด แต่ก็ยังทำไม่ได้ครับ - -*
|
|
|
|
|
Date :
2009-12-01 13:59:08 |
By :
madoka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมนึกว่าจะแทนแค่ชุดเดียว ถ้างั้นก็ต้องใส่ลูปไปครับ
Code (PHP)
<?php
function setSize($text,$newwidth,$newheight){
$nums =substr_count($text,"width"); // นับคำว่า width เพื่อจะกำหนดจำนวนแทนที่
$start =0;
for($i=0 ;$i<$nums ;$i++){
$rep1_start = strpos($text,'width="',$start)+strlen('width="');
$rep1_end =strpos($text,"\"",$rep1_start);
$len1 =$rep1_end-$rep1_start;
$text =substr_replace($text,$newwidth,$rep1_start,$len1);
$rep2_start = strpos($text,'height="',$start)+strlen('height="');
$rep2_end =strpos($text,"\"",$rep2_start);
$len2 =$rep2_end-$rep2_start;
$text =substr_replace($text,$newheight,$rep2_start,$len2);
$start=$rep2_end;
}
return $text;
}
// ทดสอบ
$text = 'width="320" height="290" to width="320" height="290"';
$width="290";
$height="380";
$change = setSize($text,$width,$height);
echo $change;
?>
|
|
|
|
|
Date :
2009-12-01 14:19:03 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เช็ด!!!!
สุดยอดมากครับ +1 แล้วนะครับ
แต่อยากให้มากกว่า +1 อะครับ แต่หมดโควต้า - -*
|
|
|
|
|
Date :
2009-12-01 14:45:45 |
By :
madoka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แวะมาบวกให้เพิ่มนะครับ +1
|
|
|
|
|
Date :
2009-12-02 13:08:05 |
By :
madoka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|