修剪 php 的文本


Trim a Text for a php

我在时间表单中都有代码,可以在每次有人填写表单时获取电子邮件的页面标题。但是,我总是获得带有额外数据的页面标题。

例如:

"Empodera tu ser con PNL - Fundación Empoder" 

我想删除

" - Fundación Empoder"

但我找不到答案

<input type='hidden' name='page_url' id='page_url' value='<?php echo 'JURI::getInstance()->toString(); ?>' />
<?php
     $jdoc = 'JFactory::getDocument();
?>
<input type='hidden' name='page_title' id='page_title' value='<?php echo $jdoc->getTitle(); ?>' />

如果您能帮助:D,请提前感谢您

罗德里

查看str_replace()

$text = 'Empodera tu ser con PNL - Fundación Empoder';
echo str_replace(' - Fundación Empoder', '', $text); // "Empodera tu ser con PNL"

这可能不是最优雅的解决方案,但是,如果您要删除的部分是恒定的,它肯定会起作用。否则,您需要发挥创意,也许可以研究模式匹配/正则表达式/等。

如果你想做这样的事情,你需要确保总有一些模式是你可以寻找的。例如,如果我们知道只有一个破折号,那么我们可以做这样的事情:

<?php
$title_pieces = explode("-", $jdoc->getTitle());
 $title_pieces = count($title_pieces > 1) ? 
   array_pop($title_pieces) : $title_pieces;
$page_title = implode('-', $title_pieces);
?>
<input type='hidden' name='page_title' id='page_title' value='<?php echo $page_title; ?>' />

我认为有更好的方法可以做到这一点,但如果 chronoforms 不允许这样做,那么这是一种笨拙的方法。

感谢您像这样解决的帮助

<input type='hidden' name='page_url' id='page_url' value='<?php echo 'JURI::getInstance()->toString(); ?>' />
<?php
     $jdoc =  'JFactory::getDocument();
     $gettit =  $jdoc->getTitle();
     $alltrim = str_replace(' - Fundación Empoder', '', $gettit);
?>
<input type='hidden' name='page_title' id='page_title' value='<?php echo $alltrim; ?>' />

是的,这是一个常数,这完全消除了我需要的东西......

谢谢罗德里戈:D