PHP Array 3 Veri Var Tek Veri Ekrana Yazıyor ::(( ?
-
kodlarım aşağıda arkadaşlar şimdi html ve php kodlarını ayırmak için basitce bi template sınıfı yazdım yanlız bi sorunum var aşamadığım oda array içinde 3 tane veri var ama ekrana
{ID} - {TITLE} - asdasdasdasdxxxx {ID} - {TITLE} - zxczxc {ID} - {TITLE} - xczxczxc {ID} - {TITLE} - dddfdf {ID} - {TITLE} - xcxc
şeklinde gösteriyor lakin preg_match işlemini kaldırırsam eyer
hepsini gösteriyor ne yapmam lazım bana bu konuda yardımcı olursanız cok sevinirim.
PHP KODLARIMKod:<? class templateEngine { public $htmlContent; public function file_import($file) { $this -> htmlContent = @file_get_contents($file) or die("Not Found Template File ({$file})"); } public function template_assign($loopName,$data = array()) { preg_match("|<!-- BEGIN: {$loopName} -->(.*?)<!-- END: {$loopName} -->|is",$this -> htmlContent,$loopContent); foreach($data as $oldData => $newData) { $this -> htmlContent = preg_replace('/{'.$oldData.'}/',$newData,$loopContent[1]); } print $this -> htmlContent; } } $template = new templateEngine; $blog_post_read = mysql_query("SELECT * FROM textpages ORDER BY id ASC"); while ($post_read = mysql_fetch_array($blog_post_read)) { $template -> file_import("data.html"); $template -> template_assign("POST",array( 'ID' => $post_read["id"], 'TITLE' => $post_read["title"], 'CONTENT' => $post_read["content"] )); } ?>php tagları içine almadım cünkü enterları algılamadığı kodlar karman çorman görünüyor.
HTML KODLARIMKod:<table style="border: 1px solid red;"><!-- BEGIN: POST --> <tr> <td style="border: 1px solid red;">{ID} - {TITLE} - {CONTENT}</td> </tr> <!-- END: POST --> </table> -
preg_match_all denermisin
-
Notice: Undefined offset: 1 in C:\xampp\htdocs\yonetim panel\template\template.php on line 21
şeklinde hata veriyor öyle yapınca
21. satırda ise
foreach($data as $oldData => $newData) { $this -> htmlContent = preg_replace('/{'.$oldData.'}/',$newData,$loopContent[1]); }
-
hocam deli gibi yorgunum, birz uzanıcam.Sorunu tam anlayamadım fakat şöyle birşey yaptım örnek olsun diye ;
fikir verir umarım
---a.php---
<!DOCTYPE html>
<meta charset="utf-8">
<?php
$text = file_get_contents('./b.php');
$bul = array('#{a}#si','#{b}#si','#{c}#si');
$cevir = array('şimdi bu a olacak','sonra buda b',' bide c de ');
$text = preg_replace($bul, $cevir,$text);
echo $text;
-------
---b.php---
bisey : {a} <br>
2. bisey : {b} <br>
3. bisey : {c} <br>
----
