0

每次有人填写表格时,我都有 chronoforms 中的代码来获取电子邮件的页面标题。但是,我总是得到带有额外数据的页面标题。

例如:

"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

罗德里戈

4

3 回答 3

1

签出str_replace()

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

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

于 2016-02-03T02:58:27.987 回答
1

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

<?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 不允许这样做,那么这是一种 hacky 方法。

于 2016-02-03T03:07:23.830 回答
0

感谢你们这样解决的帮助

<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

于 2016-02-03T13:12:16.497 回答