ط§ط³طھط¨ط¯ط§ظ„ ط§ظ„ظ†طµظˆطµ ط§ظˆط§ط¶ط§ظپط© ظ†طµ ط¨ط¹ط¯ ط§ظˆ ظ‚ط¨ظ„ ظ†طµ ظ…ط*ط¯ط¯ طŒ طھظپظٹط¯ ظپظٹ طھط¹ط¯ظٹظ„ ط§ظ„ظ‚ظˆط§ظ„ط¨ ط¨ط±ظ…ط¬ظٹط§



بسم الله الرحمان الرحيم ـ
السلام عليكم ورحمة الله تعالى وبركاته /،

حياكم الله ، اخواني
بعد انقطاع قصير اليكم ،

[كلاس ] استبدال النصوص اواضافة نص بعد او قبل نص محدد ، تفيد في تعديل القوالب برمجيا

اثناء برمجتي لاحد السكربتات ـ وبالتحديد في نظام الهاك productات فيه ، كانت هناك اضافة كان علي اضافتها ، وهي التعديل عى القوالب انطلاقا من الهاك product ، وفي هذه النقطة بالتحديد ، اسوحيت الفكرة من الفي بي ،

في تعديل القوالب ،

فمثلا لو برمجت هاك product ، يؤدي وظيفته مثلا في قالب template الهيدر header، وبالتحديد في وسط الهيدر header ، يعني في وسط اكواد الهيدر header، فيا ترى كيف نعملها،

الكلاس جا ليؤدي هذه الوظائف كلها ،



  • امكانية استبدال نص بنص ،
  • امكانية استبدال مابين نصين ، بنص اخر ،
  • امكانية اضافة نص ، بعد نص محدد ، مع اضافة سطر جديد او بدونه
  • امكانية اضافة نص قبل نص محدد ، مع اضافة سطر جديد او بدونه



هذا هو الكلاس ، وهو مرفق ايضا

رمز PHP:
<code style="white-space:nowrap"> <code> <?

class Serefi_b7r {

/*
*
* By JawadSoft b7r.info
*
*/

public $text;
public
$phrase_find;
public
$phrase_new;

/*
* &#91;srab :: generate&#93;
* &#91;Parameter &#93;: Type : -> Type of Operation
* 1 : -> search & replace
* 2 : -> search & replace which is betwin 2 sentences
* 3 : -> put before & new line
* 4 : -> put before & without new line
* 5 : -> put after & new line
* 6 : -> put after & without new line
*/
public function generate($Type = 1)
{
switch (
$Type){
case
1:
$this->search_and_replace();
break;

case
2:
$this->search_and_replace(true);
break;

case
3:
$this->put_before(true);
break;

case
4:
$this->put_before(false);
break;

case
5:
$this->put_after(true);
break;

case
6:
$this->put_after(false);
break;
return
$this;
}
}

/*
* Search and replace :
* Parameters : $array_betwin = true || false
* $array_betwin : true -> search & replace which is betwin 2 sentences
* $array_betwin : false -> search & replace
*/
public function search_and_replace($array_betwin=false)
{
if(
$this->phrase_new == ''){
return
false;
}

if(
$array_betwin)
{
if(!
is_array($this->phrase_find))
{
return
false;
}
else
{
$this->text = preg_replace('/' . preg_quote($this->phrase_find&#91;0&#93; , '/') . '(.*?)' . preg_quote($this->phrase_find&#91;1&#93;, '/') . '/', $this->phrase_new, $this->text);

}
}
else
{
$this->text = preg_replace('/' . preg_quote($this->phrase_find, '/') . '/', $this->phrase_new, $this->text);
}
}


/*
* put after : search & put after
* Parameters : $new_line = true || false
* $new_line : true -> put after & new line
* $new_line : false -> put after & without new line
*/

public function put_after($new_line=true)
{
if(
$this->phrase_new == ''){
return
false;
}

$this->text = preg_replace('/' . preg_quote($this->phrase_find, '/') . '/', $this->phrase_find . ($new_line ? "\n" : " ") . $this->phrase_new, $this->text);

}

/*



* put before : search & put after
* Parameters : $new_line = true || false
* $new_line : true -> put before & new line
* $new_line : false -> put before & without new line
*/
public function put_before($new_line=true)
{
if(
$this->phrase_new == ''){
return
false;
}

$this->text = preg_replace('/' . preg_quote($this->phrase_find, '/') . '/',$this->phrase_new . ($new_line ? "\n" : " ") . $this->phrase_find , $this->text);

}


}

?>
</code> </code>

امثلة لاستعمالات للكلاس :

رمز PHP:
<code style="white-space:nowrap"> <code> $tt = new Serefi_b7r;
$tt->text = 'Hello every body, welcome ';
$tt->phrase_find = 'welcome';
$tt->phrase_new = 'to My Website b7r UP !! www.b7r.info';
$tt->generate(6); // 1 ,2,3,4,5,6
echo $tt->text;
</code> </code>

واذا اردت استبدال نص ما داخل نصين ،

رمز PHP:
<code style="white-space:nowrap"> <code> $tt = new Serefi_b7r;
$tt->text = 'Hello every (text text text) body, ::: ';
$tt->phrase_find = array('every','body');
$tt->phrase_new = ' & welcome to My Website b7r UP !! www.b7r.info';
$tt->generate(2); // 1 ,2,3,4,5,6
echo $tt->text;
</code> </code>

وباقي الاستعمالات ،/ اخليكم تكتشفوها ،

والسلام عليكم ورحمة الله تعالى وبركاته

وان شاء تكون عمت الاستفادة من الكلاس .









الملفات المرفقة [TR]
Serefi_b7r.class by jawadsoft.zip (840 بايت, عدد مرات المشاهدة 35 مرة) [/TR]



©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©