• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP purify_html函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中purify_html函数的典型用法代码示例。如果您正苦于以下问题:PHP purify_html函数的具体用法?PHP purify_html怎么用?PHP purify_html使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了purify_html函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: encode

 /**
  * Encodes mixed params before they are sent to the database.
  *
  * @param mixed $data The unencoded object/array/string/etc
  * @return mixed The encoded version
  */
 static function encode(&$data)
 {
     if (is_object($data) || is_array($data)) {
         // skip the ilp_flexible_table
         if (!is_a($data, 'ilp_flexible_table')) {
             foreach ($data as $index => &$datum) {
                 //we will skip any index with the prefix binary
                 if (substr($index, 0, 7) != 'binary_') {
                     $datum = ilp_db::encode($datum);
                 }
             }
         }
         return $data;
     } else {
         // decode any special characters prevent malicious code slipping through
         $data = ilp_db::decode_htmlchars($data, ENT_QUOTES);
         // purify all data (e.g. validate html, remove js and other bad stuff)
         //I have had to remove the purify call as it was causing pages to timeout in 1.9
         //this should be put back in once the ilp is moodle 2.0 only
         $data = purify_html($data);
         // encode the purified string
         $data = trim(preg_replace('/\\\\/', '\', htmlentities($data, ENT_QUOTES, 'utf-8', false)));
         // convert the empty string into null as such values break nullable FK fields
         return $data == '' ? null : $data;
     }
 }
开发者ID:nathanfriend,项目名称:moodle-block_ilp,代码行数:32,代码来源:ilp_db.php


示例2: toArray

 public static function toArray($pin)
 {
     $result = array();
     $result['link'] = purify_url($pin['link']);
     $result['title'] = purify_html($pin['title']);
     $result['created_on'] = strtotime($pin['created_on']);
     return $result;
 }
开发者ID:kaz0636,项目名称:openflp,代码行数:8,代码来源:pin.php


示例3: test_our_tags

 /**
  * Tests the installation of event handlers from file
  */
 function test_our_tags()
 {
     $text = '<nolink>xxx<em>xx</em><div>xxx</div></nolink>';
     $this->assertIdentical($text, purify_html($text));
     $text = '<tex>xxxxxx</tex>';
     $this->assertIdentical($text, purify_html($text));
     $text = '<algebra>xxxxxx</algebra>';
     $this->assertIdentical($text, purify_html($text));
     $text = '<span lang="de_DU" class="multilang">asas</span>';
     $this->assertIdentical($text, purify_html($text));
     $text = '<lang lang="de_DU">xxxxxx</lang>';
     $this->assertIdentical($text, purify_html($text));
     $text = "\n\raa\rsss\nsss\r";
     $this->assertIdentical($text, purify_html($text));
 }
开发者ID:vuchannguyen,项目名称:web,代码行数:18,代码来源:testhtmlpurifier.php


示例4: test_getfeed

    public function test_getfeed()
    {
        $feed = new moodle_simplepie($this->getExternalTestFileUrl('/rsstest.xml'), self::TIMEOUT);
        $this->assertInstanceOf('moodle_simplepie', $feed);
        $this->assertNull($feed->error(), "Failed to load the sample RSS file. Please check your proxy settings in Moodle. %s");
        $this->assertSame('Moodle News', $feed->get_title());
        $this->assertSame('http://moodle.org/mod/forum/view.php?f=1', $feed->get_link());
        $this->assertSame("General news about Moodle.\n\nMoodle is a leading open-source course management system (CMS) - a software package designed to help educators create quality online courses. Such e-learning systems are sometimes also called Learning Management Systems (LMS) or Virtual Learning Environments (VLE). One of the main advantages of Moodle over other systems is a strong grounding in social constructionist pedagogy.", $feed->get_description());
        $this->assertSame('&amp;#169; 2007 moodle', $feed->get_copyright());
        $this->assertSame('http://moodle.org/pix/i/rsssitelogo.gif', $feed->get_image_url());
        $this->assertSame('moodle', $feed->get_image_title());
        $this->assertSame('http://moodle.org/', $feed->get_image_link());
        $this->assertEquals('140', $feed->get_image_width());
        $this->assertEquals('35', $feed->get_image_height());
        $this->assertNotEmpty($items = $feed->get_items());
        $this->assertCount(15, $items);
        $this->assertNotEmpty($itemone = $feed->get_item(0));
        $this->assertSame('Google HOP contest encourages pre-University students to work on Moodle', $itemone->get_title());
        $this->assertSame('http://moodle.org/mod/forum/discuss.php?d=85629', $itemone->get_link());
        $this->assertSame('http://moodle.org/mod/forum/discuss.php?d=85629', $itemone->get_id());
        $description = <<<EOD
by Martin Dougiamas. &nbsp;<p><p><img src="http://code.google.com/opensource/ghop/2007-8/images/ghoplogosm.jpg" align="right" style="margin:10px" />After their very successful <a href="http://code.google.com/soc/2007/">Summer of Code</a> program for University students, Google just announced their new <a href="http://code.google.com/opensource/ghop/2007-8/">Highly Open Participation contest</a>, designed to encourage pre-University students to get involved with open source projects via much smaller and diverse contributions.<br />
<br />
I'm very proud that Moodle has been selected as one of only <a href="http://code.google.com/opensource/ghop/2007-8/projects.html">ten open source projects</a> to take part in the inaugural year of this new contest.<br />
<br />
We have a <a href="http://code.google.com/p/google-highly-open-participation-moodle/issues/list">long list of small tasks</a> prepared already for students, but we would definitely like to see the Moodle community come up with more - so if you have any ideas for things you want to see done, please <a href="http://code.google.com/p/google-highly-open-participation-moodle/">send them to us</a>!  Just remember they can't take more than five days.<br />
<br />
Google will pay students US\$100 for every three tasks they successfully complete, plus send a cool T-shirt.  There are also grand prizes including an all-expenses-paid trip to Google HQ in Mountain View, California.  If you are (or know) a young student with an interest in Moodle then give it a go! <br />
<br />
You can find out all the details on the <a href="http://code.google.com/p/google-highly-open-participation-moodle/">Moodle/GHOP contest site</a>.</p></p>
EOD;
        $description = purify_html($description);
        $this->assertSame($description, $itemone->get_description());
        // TODO fix this so it uses $CFG by default.
        $this->assertSame(1196412453, $itemone->get_date('U'));
        // Last item.
        $this->assertNotEmpty($feed->get_item(14));
        // Past last item.
        $this->assertEmpty($feed->get_item(15));
    }
开发者ID:alanaipe2015,项目名称:moodle,代码行数:40,代码来源:rsslib_test.php


示例5: getArrayInfo

	static function getArrayInfo($raw_data, $full = false){
		if(config_option("wysiwyg_tasks")){
			if($raw_data['type_content'] == "text"){
				$desc = nl2br(htmlspecialchars($raw_data['text']));
			}else{
				$desc = purify_html(nl2br($raw_data['text']));
			}
		}else{
			if($raw_data['type_content'] == "text"){
				$desc = htmlspecialchars($raw_data['text']);
			}else{
				$desc = html_to_text(html_entity_decode(nl2br($raw_data['text']), null, "UTF-8"));
			}
		}

		$member_ids = ObjectMembers::instance()->getCachedObjectMembers($raw_data['id']);
		$tmp_task = new ProjectTask();
		$tmp_task->setObjectId($raw_data['id']);
		$tmp_task->setId($raw_data['id']);
		$tmp_task->setAssignedToContactId($raw_data['assigned_to_contact_id']);
		
		$result = array(
			'id' => $raw_data['id'],
			't' => $raw_data['name'],
			'desc' => $desc,
			'members' => $member_ids,
			'c' => strtotime($raw_data['created_on']),
			'cid' => (int)$raw_data['created_by_id'],
			'otype' => $raw_data['object_subtype'],
			'pc' => (int)$raw_data['percent_completed'],
			'memPath' => str_replace('"',"'", str_replace("'", "\'", json_encode($tmp_task->getMembersToDisplayPath($member_ids))))
		);

		if ($full) {
			$result['description'] = $raw_data['text'];
		}

		$result['mas'] = (int)array_var($raw_data, 'multi_assignment');
			
		if ($raw_data['completed_by_id'] > 0) {
			$result['s'] = 1;
		}
			
		if ($raw_data['parent_id'] > 0) {
			$result['pid'] = (int)$raw_data['parent_id'];
		}
		//if ($this->getPriority() != 200)
		$result['pr'] = (int)$raw_data['priority'];

		if ($raw_data['milestone_id'] > 0) {
			$result['mid'] = (int)$raw_data['milestone_id'];
		}
			
		if ($raw_data['assigned_to_contact_id'] > 0) {
			$result['atid'] = (int)$raw_data['assigned_to_contact_id'];
		}
		$result['atName'] = $tmp_task->getAssignedToName();

		if ($raw_data['completed_by_id'] > 0) {
			$result['cbid'] = (int)$raw_data['completed_by_id'];
			$result['con'] = strtotime($raw_data['completed_on']);;
		}
			
		if ($raw_data['due_date'] != EMPTY_DATETIME) {
			$result['dd'] = strtotime($raw_data['due_date']) + logged_user()->getTimezone() * 3600;
			$result['udt'] = $raw_data['use_due_time'] ? 1 : 0;
		}
		if ($raw_data['start_date'] != EMPTY_DATETIME) {
			$result['sd'] = strtotime($raw_data['start_date']) + logged_user()->getTimezone() * 3600;
			$result['ust'] = $raw_data['use_start_time'] ? 1 : 0;
		}

		$time_estimate = $raw_data['time_estimate'];
		$result['te'] = $raw_data['time_estimate'];
		if ($time_estimate > 0) $result['et'] = DateTimeValue::FormatTimeDiff(new DateTimeValue(0), new DateTimeValue($time_estimate * 60), 'hm', 60) ;


		$result['tz'] = logged_user()->getTimezone() * 3600;

		$ot = $tmp_task->getOpenTimeslots();

		if ($ot){
			$users = array();
			$time = array();
			$paused = array();
			foreach ($ot as $t){
				if (!$t instanceof Timeslot) continue;
				$time[] = $t->getSeconds();
				$users[] = $t->getContactId();
				$paused[] = $t->isPaused()?1:0;
				if ($t->isPaused() && $t->getContactId() == logged_user()->getId()) {
					$result['wpt'] = $t->getPausedOn()->getTimestamp();
				}
			}
			$result['wt'] = $time;
			$result['wid'] = $users;
			$result['wp'] = $paused;
		}

		if ($raw_data['repeat_forever'] > 0 || $raw_data['repeat_num'] > 0 || $raw_data['repeat_end'] != EMPTY_DATETIME) {
//.........这里部分代码省略.........
开发者ID:Jtgadbois,项目名称:Pedadida,代码行数:101,代码来源:ProjectTasks.class.php


示例6: render_object_link_form

			}
			echo render_object_link_form($task, $pre_linked_objects)
		
		?>
	</fieldset>	
	</div>
	<?php } // if ?>
		
   	
	<div>
                <?php 
                    if(config_option("wysiwyg_tasks")){
                        if(array_var($task_data, 'type_content') == "text"){
                            $ckEditorContent = purify_html(nl2br(array_var($task_data, 'text')));
                        }else{
                            $ckEditorContent = purify_html(nl2br(array_var($task_data, 'text')));
                        }                        
                ?>
		<?php echo label_tag(lang('description'), $genid . 'taskListFormDescription') ?>
                <div id="<?php echo $genid ?>ckcontainer" style="height: 100%">
                    <textarea cols="80" id="<?php echo $genid ?>ckeditor" name="task[text]" rows="10"><?php echo clean($ckEditorContent) ?></textarea>
                </div>
                <script>
                    var h = document.getElementById("<?php echo $genid ?>ckcontainer").offsetHeight;
                    if (h > 300) {
                        h = 280;
                        $("#<?php echo $genid ?>ckcontainer").css('height', (h+20)+'px'); 
                    }
                    var editor = CKEDITOR.replace('<?php echo $genid ?>ckeditor', {
                        height: h,
                        enterMode: CKEDITOR.ENTER_DIV,
开发者ID:Jtgadbois,项目名称:Pedadida,代码行数:31,代码来源:add_task.php


示例7: get_atom_elements


//.........这里部分代码省略.........
    }
    $apps = $item->get_item_tags(NAMESPACE_STATUSNET, 'notice_info');
    if ($apps && $apps[0]['attribs']['']['source']) {
        $res['app'] = strip_tags(unxmlify($apps[0]['attribs']['']['source']));
    }
    /*
     * If there's a copy of the body content which is guaranteed to have survived mangling in transit, use it.
     */
    $have_real_body = false;
    $rawenv = $item->get_item_tags(NAMESPACE_DFRN, 'env');
    if ($rawenv) {
        $have_real_body = true;
        $res['body'] = $rawenv[0]['data'];
        $res['body'] = str_replace(array(' ', "\t", "\r", "\n"), array('', '', '', ''), $res['body']);
        // make sure nobody is trying to sneak some html tags by us
        $res['body'] = notags(base64url_decode($res['body']));
        // We could probably turn these old Friendica bbcode bookmarks into bookmark tags but we'd have to
        // create a term table item for them. For now just make sure they stay as links.
        $res['body'] = preg_replace('/\\[bookmark(.*?)\\](.*?)\\[\\/bookmark\\]/', '[url$1]$2[/url]', $res['body']);
    }
    $res['body'] = limit_body_size($res['body']);
    // It isn't certain at this point whether our content is plaintext or html and we'd be foolish to trust
    // the content type. Our own network only emits text normally, though it might have been converted to
    // html if we used a pubsubhubbub transport. But if we see even one html tag in our text, we will
    // have to assume it is all html and needs to be purified.
    // It doesn't matter all that much security wise - because before this content is used anywhere, we are
    // going to escape any tags we find regardless, but this lets us import a limited subset of html from
    // the wild, by sanitising it and converting supported tags to bbcode before we rip out any remaining
    // html.
    if (strpos($res['body'], '<') !== false && strpos($res['body'], '>') !== false) {
        $res['body'] = reltoabs($res['body'], $base_url);
        $res['body'] = html2bb_video($res['body']);
        $res['body'] = oembed_html2bbcode($res['body']);
        $res['body'] = purify_html($res['body']);
        $res['body'] = @html2bbcode($res['body']);
    } elseif (!$have_real_body) {
        // it's not one of our messages and it has no tags
        // so it's probably just text. We'll escape it just to be safe.
        $res['body'] = escape_tags($res['body']);
    }
    if ($res['plink'] && $res['title']) {
        $res['body'] = '#^[url=' . $res['plink'] . ']' . $res['title'] . '[/url]' . "\n\n" . $res['body'];
        $terms = array();
        $terms[] = array('otype' => TERM_OBJ_POST, 'type' => TERM_BOOKMARK, 'url' => $res['plink'], 'term' => $res['title']);
    } elseif ($res['plink']) {
        $res['body'] = '#^[url]' . $res['plink'] . '[/url]' . "\n\n" . $res['body'];
        $terms = array();
        $terms[] = array('otype' => TERM_OBJ_POST, 'type' => TERM_BOOKMARK, 'url' => $res['plink'], 'term' => $res['plink']);
    }
    $private = $item->get_item_tags(NAMESPACE_DFRN, 'private');
    if ($private && intval($private[0]['data']) > 0) {
        $res['item_private'] = intval($private[0]['data']) ? 1 : 0;
    } else {
        $res['item_private'] = 0;
    }
    $rawlocation = $item->get_item_tags(NAMESPACE_DFRN, 'location');
    if ($rawlocation) {
        $res['location'] = unxmlify($rawlocation[0]['data']);
    }
    $rawcreated = $item->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'published');
    if ($rawcreated) {
        $res['created'] = unxmlify($rawcreated[0]['data']);
    }
    $rawedited = $item->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'updated');
    if ($rawedited) {
        $res['edited'] = unxmlify($rawedited[0]['data']);
开发者ID:einervonvielen,项目名称:redmatrix,代码行数:67,代码来源:items.php


示例8: DateTimeValue

            } else {
                $real_start = $event_start;
            }
            if ($event->getDueDate() instanceof DateTimeValue) {
                $real_duration = new DateTimeValue($event->getDueDate()->getTimestamp() + 3600 * logged_user()->getTimezone());
            } else {
                $real_duration = $event_duration;
            }
        }
    }
    $pre_tf = $real_start->getDay() == $real_duration->getDay() ? '' : 'D j, ';
    $ev_hour_text = format_date($real_start, $pre_tf . $timeformat, 0) . " - " . format_date($real_duration, $pre_tf . $timeformat, 0);
    $assigned = "";
    if ($event instanceof ProjectTask && $event->getAssignedToContactId() > 0) {
        $assigned = "<br>" . lang('assigned to') . ': ' . $event->getAssignedToName();
        $tipBody = purify_html($event->getText());
    } else {
        $tipBody = $ev_hour_text . $assigned . (trim(clean($event->getDescription())) != '' ? '<br><br>' . clean($event->getDescription()) : '');
        $tipBody = str_replace(array("\r", "\n"), array(' ', '<br>'), $tipBody);
    }
    if (strlen_utf($tipBody) > 200) {
        $tipBody = substr_utf($tipBody, 0, strpos($tipBody, ' ', 200)) . ' ...';
    }
    ?>
												<script>
													if (<?php 
    echo $top;
    ?>
 < scroll_to || scroll_to == -1) {
														scroll_to = <?php 
    echo $top;
开发者ID:abhinay100,项目名称:fengoffice_app,代码行数:31,代码来源:viewdate.php


示例9: clean

<div class="print-view-message">

<div class="header">
<h1><?php echo clean($message->getObjectName()); ?></h1>
<b><?php echo lang('from') ?>:</b> <?php echo clean($message->getCreatedByDisplayName()) ?><br />
<b><?php echo lang('date') ?>:</b> <?php echo format_datetime($message->getUpdatedOn(), null, logged_user()->getTimezone()) ?><br />
<b><?php /*FIXME echo lang('workspace') ?>:</b> <?php echo clean($message->getWorkspacesNamesCSV()) */?><br />
</div>

<div class="body">
<?php 
    if($message->getTypeContent() == "text"){
        echo escape_html_whitespace(convert_to_links(clean($message->getText())));
    }else{
        echo purify_html(nl2br($message->getText()));
    }
?>
</div>

<?php
$i = 0;
$comments = $message->getComments();
if (count($comments) > 0) {
?>
<div class="comments">
<h2><?php echo lang("comments") ?></h2>
<?php foreach ($comments as $comment) {
	$i++;
?>
	<div class="comment">
开发者ID:Jtgadbois,项目名称:Pedadida,代码行数:30,代码来源:print_view.php


示例10: clean_text

/**
 * Given raw text (eg typed in by a user), this function cleans it up
 * and removes any nasty tags that could mess up Moodle pages.
 *
 * @uses FORMAT_MOODLE
 * @uses FORMAT_PLAIN
 * @uses ALLOWED_TAGS
 * @param string $text The text to be cleaned
 * @param int $format Identifier of the text format to be used
 *            (FORMAT_MOODLE, FORMAT_HTML, FORMAT_PLAIN, FORMAT_WIKI, FORMAT_MARKDOWN)
 * @return string The cleaned up text
 */
function clean_text($text, $format = FORMAT_MOODLE)
{
    global $ALLOWED_TAGS, $CFG;
    if (empty($text) or is_numeric($text)) {
        return (string) $text;
    }
    switch ($format) {
        case FORMAT_PLAIN:
        case FORMAT_MARKDOWN:
            return $text;
        default:
            if (!empty($CFG->enablehtmlpurifier)) {
                $text = purify_html($text);
            } else {
                /// Fix non standard entity notations
                $text = preg_replace('/(&#[0-9]+)(;?)/', "\\1;", $text);
                $text = preg_replace('/(&#x[0-9a-fA-F]+)(;?)/', "\\1;", $text);
                /// Remove tags that are not allowed
                $text = strip_tags($text, $ALLOWED_TAGS);
                /// Clean up embedded scripts and , using kses
                $text = cleanAttributes($text);
                /// Again remove tags that are not allowed
                $text = strip_tags($text, $ALLOWED_TAGS);
            }
            /// Remove potential script events - some extra protection for undiscovered bugs in our code
            $text = eregi_replace("([^a-z])language([[:space:]]*)=", "\\1Xlanguage=", $text);
            $text = eregi_replace("([^a-z])on([a-z]+)([[:space:]]*)=", "\\1Xon\\2=", $text);
            return $text;
    }
}
开发者ID:nicolasconnault,项目名称:moodle2.0,代码行数:42,代码来源:weblib.php


示例11: lang

	<fieldset>
		<legend><?php echo lang('linked objects') ?></legend>
		<?php echo render_object_link_form($object) ?>
	</fieldset>	
	</div>
	<?php } // if ?>
	
	<?php
		if(config_option("wysiwyg_messages")){
			if($message->isNew()) {
				$ckEditorContent = '';
			} else {
				if(array_var($message_data, 'type_content') == "text"){
					$ckEditorContent = nl2br(htmlspecialchars(array_var($message_data, 'text')));
				}else{
					$ckEditorContent = purify_html(nl2br(array_var($message_data, 'text')));
				}
			}
		?>
        <div>
            <?php echo label_tag(lang('text'), $genid . 'messageFormText', false) ?>
            <div id="<?php echo $genid ?>ckcontainer" style="height: 350px">
                <textarea cols="80" id="<?php echo $genid ?>ckeditor" name="message[text]" rows="10"><?php echo clean($ckEditorContent) ?></textarea>
            </div>
        </div>
        
        <script>
            var h = document.getElementById("<?php echo $genid ?>ckcontainer").offsetHeight;
            var editor = CKEDITOR.replace('<?php echo $genid ?>ckeditor', {
            	height: (h-60) + 'px',
            	enterMode: CKEDITOR.ENTER_DIV,
开发者ID:Jtgadbois,项目名称:Pedadida,代码行数:31,代码来源:add_message.php


示例12: display_content

	function display_content() {
		
		$file = ProjectFiles::findById(get_id());
		if (!$file instanceof ProjectFile) {
			die(lang("file dnx"));
		}
		if (!$file->canView(logged_user())) {
			die(lang("no access permissions"));
		}
		
		if (defined('SANDBOX_URL')) {
			$html_content = $file->getFileContentWithRealUrls();
		} else {
			$html_content = purify_html($file->getFileContentWithRealUrls());
		}
		$charset = "";
		if ($file->getTypeString() == "text/html") {
			$encoding = detect_encoding($html_content, array('UTF-8', 'ISO-8859-1', 'WINDOWS-1252'));
			$charset = ";charset=".$encoding;
		}
		
		if ($file->getTypeString() == 'text/html') {
			// Include stylesheet from FCK Editor
			$css = '<style type="text/css">';
			$css .= file_get_contents(ROOT.'/public/assets/javascript/ckeditor/contents.css');
			$css .= '</style>';
			$html_content = $css.$html_content;
		}
		
		header("Expires: " . gmdate("D, d M Y H:i:s", mktime(date("H") + 2, date("i"), date("s"), date("m"), date("d"), date("Y"))) . " GMT");
		header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
		header("Content-Type: " . $file->getTypeString() . $charset);
		header("Content-Length: " . (string) strlen($html_content));

		print($html_content);
		die();
	}
开发者ID:Jtgadbois,项目名称:Pedadida,代码行数:37,代码来源:FilesController.class.php


示例13: test_allowed_schemes

 public function test_allowed_schemes()
 {
     // First standard schemas.
     $text = '<a href="http://www.example.com/course/view.php?id=5">link</a>';
     $this->assertSame($text, purify_html($text));
     $text = '<a href="https://www.example.com/course/view.php?id=5">link</a>';
     $this->assertSame($text, purify_html($text));
     $text = '<a href="ftp://[email protected]/some/file.txt">link</a>';
     $this->assertSame($text, purify_html($text));
     $text = '<a href="nntp://example.com/group/123">link</a>';
     $this->assertSame($text, purify_html($text));
     $text = '<a href="news:groupname">link</a>';
     $this->assertSame($text, purify_html($text));
     $text = '<a href="mailto:[email protected]">link</a>';
     $this->assertSame($text, purify_html($text));
     // Extra schemes allowed in moodle.
     $text = '<a href="irc://irc.example.com/3213?pass">link</a>';
     $this->assertSame($text, purify_html($text));
     $text = '<a href="rtsp://www.example.com/movie.mov">link</a>';
     $this->assertSame($text, purify_html($text));
     $text = '<a href="rtmp://www.example.com/video.f4v">link</a>';
     $this->assertSame($text, purify_html($text));
     $text = '<a href="teamspeak://speak.example.com/?par=val?par2=val2">link</a>';
     $this->assertSame($text, purify_html($text));
     $text = '<a href="gopher://gopher.example.com/resource">link</a>';
     $this->assertSame($text, purify_html($text));
     $text = '<a href="mms://www.example.com/movie.mms">link</a>';
     $this->assertSame($text, purify_html($text));
     // Now some borked or dangerous schemes.
     $text = '<a href="javascript://www.example.com">link</a>';
     $this->assertSame('<a>link</a>', purify_html($text));
     $text = '<a href="hmmm://www.example.com">link</a>';
     $this->assertSame('<a>link</a>', purify_html($text));
 }
开发者ID:rushi963,项目名称:moodle,代码行数:34,代码来源:htmlpurifier_test.php


示例14: image_url

                                    $img_url = image_url('/16x16/task_end.png');
                                    $tip_pre = 'end_';
                                } else {
                                    $tip_title = lang('start of task');
                                    $img_url = image_url('/16x16/task_start.png');
                                    $tip_pre = 'st_';
                                }
                            }
                            $tip_pre .= gen_id() . "_";
                            $count++;
                            if ($count <= $max_events_to_show) {
                                $color = 'B1BFAC';
                                $subject = clean($task->getObjectName()) . '- <span class="italic">' . lang('task') . '</span>';
                                $cal_text = clean($task->getObjectName());
                                $tip_text = str_replace("\r", '', lang('assigned to') . ': ' . clean($task->getAssignedToName()) . (trim($task->getText()) == '' ? '' : '<br><br>' . html_to_text($task->getText())));
                                $tip_text = purify_html(str_replace("\n", '<br>', $tip_text));
                                if (strlen_utf($tip_text) > 200) {
                                    $tip_text = substr_utf($tip_text, 0, strpos($tip_text, ' ', 200)) . ' ...';
                                }
                                ?>
													<div id="m_ta_div_<?php 
                                echo $tip_pre . $task->getId();
                                ?>
" class="<?php 
                                echo "og-wsname-color-{$ws_color}";
                                ?>
" style="height:20px;margin: 1px;padding-left:1px;padding-bottom:0px;border-radius:4px;border: 1px solid;border-color:<?php 
                                echo $border_color;
                                ?>
;<?php 
                                echo $extra_style;
开发者ID:abhinay100,项目名称:feng_app,代码行数:31,代码来源:calendar.php


示例15: test_purify_html_ruby

 public function test_purify_html_ruby()
 {
     $this->resetAfterTest();
     $ruby = "<p><ruby><rb>京都</rb><rp>(</rp><rt>きょうと</rt><rp>)</rp></ruby>は" . "<ruby><rb>日本</rb><rp>(</rp><rt>にほん</rt><rp>)</rp></ruby>の" . "<ruby><rb>都</rb><rp>(</rp><rt>みやこ</rt><rp>)</rp></ruby>です。</p>";
     $illegal = '<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>';
     $cleaned = purify_html($ruby . $illegal);
     $this->assertEquals($ruby, $cleaned);
 }
开发者ID:sirromas,项目名称:lms,代码行数:8,代码来源:weblib_test.php


示例16: clean_up

 protected function clean_up($text)
 {
     return purify_html($text, FORMAT_HTML);
 }
开发者ID:dariogs,项目名称:moosh,代码行数:4,代码来源:CourseCleanup.php


示例17: add_page_action

    }
    if ($message->canDelete(logged_user())) {
        if ($message->isTrashed()) {
            add_page_action(lang('restore from trash'), "javascript:if(confirm(lang('confirm restore objects'))) og.openLink('" . $message->getUntrashUrl() . "');", 'ico-restore', null, null, true);
            add_page_action(lang('delete permanently'), "javascript:if(confirm(lang('confirm delete permanently'))) og.openLink('" . $message->getDeletePermanentlyUrl() . "');", 'ico-delete', null, null, true);
        } else {
            add_page_action(lang('move to trash'), "javascript:if(confirm(lang('confirm move to trash'))) og.openLink('" . $message->getTrashUrl() . "');", 'ico-trash', null, null, true);
        }
    }
    // if
    add_page_action(lang('print view'), $message->getPrintViewUrl(), "ico-print", "_blank");
    ?>

<div style="padding:7px">
<div class="message">
<?php 
    if ($message->getTypeContent() == "text") {
        $content = escape_html_whitespace(convert_to_links(clean($message->getText())));
    } else {
        $content = '<div class="wysiwyg-description">' . convert_to_links(purify_html(nl2br($message->getText()))) . '</div>';
    }
    tpl_assign("content", $content);
    tpl_assign("object", $message);
    tpl_assign('iconclass', $message->isTrashed() ? 'ico-large-message-trashed' : ($message->isArchived() ? 'ico-large-message-archived' : 'ico-large-message'));
    $this->includeTemplate(get_template_path('view', 'co'));
    ?>
</div>
</div>
<?php 
}
//if isset
开发者ID:abhinay100,项目名称:fengoffice_app,代码行数:31,代码来源:view.php


示例18: mod_8_settings


//.........这里部分代码省略.........
        if ($fileboard) {
            $force_image_op = true;
            $file_board = "\$config['threads_per_page'] = 30;\n\t\t\t\t\t       \$config['file_board'] = true;\n\t\t\t\t\t       \$config['threads_preview'] = 0;\n\t\t\t\t               \$config['threads_preview_sticky'] = 0;\n\t\t\t\t\t       \$config['allowed_ext_files'] = array();\n";
            if (isset($_POST['allowed_type'])) {
                foreach ($_POST['allowed_type'] as $val) {
                    if (in_array($val, $config['fileboard_allowed_types'])) {
                        $file_board .= "\$config['allowed_ext_files'][] = '{$val}';\n";
                    }
                }
            }
            if (isset($_POST['allowed_ext_op'])) {
                $file_board .= "\$config['allowed_ext_op'] = \$config['allowed_ext_files'];\n";
                if (isset($_POST['allowed_ext_op_video'])) {
                    $file_board .= "\$config['allowed_ext_op'][] = 'webm';\n\t\t\t\t\t\t\t\t\$config['allowed_ext_op'][] = 'mp4';\n";
                }
            }
            if (isset($_POST['tag_id'])) {
                $file_board .= "\$config['allowed_tags'] = array();\n";
                foreach ($_POST['tag_id'] as $id => $v) {
                    $file_board .= "\$config['allowed_tags'][";
                    $file_board .= 'base64_decode("';
                    $file_board .= base64_encode($_POST['tag_id'][$id]);
                    $file_board .= '")';
                    $file_board .= "] = ";
                    $file_board .= 'base64_decode("';
                    $file_board .= base64_encode($_POST['tag_desc'][$id]);
                    $file_board .= '")';
                    $file_board .= ";\n";
                }
            }
        }
        $anal_filenames = $fileboard && isset($_POST['anal_filenames']) ? "\$config['filename_func'] = 'filename_func';\n" : '';
        $anonymous = base64_encode($_POST['anonymous']);
        $blotter = base64_encode(purify_html(html_entity_decode($_POST['blotter'])));
        $add_to_config = @file_get_contents($b . '/extra_config.php');
        $replace = '';
        if (isset($_POST['replace'])) {
            if (sizeof($_POST['replace']) > 200 || sizeof($_POST['with']) > 200) {
                error(_('Sorry, max 200 wordfilters allowed.'));
            }
            if (count($_POST['replace']) == count($_POST['with'])) {
                foreach ($_POST['replace'] as $i => $r) {
                    if ($r !== '') {
                        $w = $_POST['with'][$i];
                        if (strlen($w) > 255) {
                            error(sprintf(_('Sorry, %s is too long. Max replacement is 255 characters'), utf8tohtml($w)));
                        }
                        $replace .= '$config[\'wordfilters\'][] = array(base64_decode(\'' . base64_encode($r) . '\'), base64_decode(\'' . base64_encode($w) . '\'));';
                    }
                }
            }
            if (is_billion_laughs($_POST['replace'], $_POST['with'])) {
                error(_('Wordfilters may not wordfilter previous wordfilters. For example, if a filters to bb and b filters to cc, that is not allowed.'));
            }
        }
        if (isset($_POST['hour_max_threads']) && (int) $_POST['hour_max_threads'] > 0 && (int) $_POST['hour_max_threads'] < 101) {
            $hour_max_threads = (int) $_POST['hour_max_threads'];
        } else {
            $hour_max_threads = 'false';
        }
        if (isset($_POST['max_pages'])) {
            $mp = (int) $_POST['max_pages'];
            if ($mp > 25 || $mp < 1) {
                $max_pages = 15;
            } else {
                $max_pages = $mp;
开发者ID:ringtech,项目名称:infinity,代码行数:67,代码来源:8chan-mod-pages.php


示例19: scrub_html

function scrub_html($html)
{
    // FIXME
    return purify_html($html);
}
开发者ID:kaz0636,项目名称:openflp,代码行数:5,代码来源:string_utils.php


示例20: analyze_message

 /**
  * Find project objects in commit message, make them links and
  * save the relations to database
  *
  * @param string $commit_message
  * @param string $commit_author
  * @param integer $revision
  * @param Repository $repository
  * @param Project $project
  * @return string
  */
 function analyze_message($commit_message, $commit_author, $revision, $repository, $project)
 {
     if (define('PURIFY_HTML') && PURIFY_HTML) {
         $commit_message = purify_html($commit_message);
         // Clean!
     }
     // if
     $pattern = '/((complete[d]*)[\\s]+)?(ticket|milestone|discussion|task)[s]*[\\s]+[#]*\\d+/i';
     if (preg_match_all($pattern, $commit_message, $matches)) {
         $i = 0;
         $search = array();
         $replace = array();
         $matches_unique = array_unique($matches['0']);
         foreach ($matches_unique as $key => $match) {
             $match_data = preg_split('/[\\s,]+/', $match, null, PREG_SPLIT_NO_EMPTY);
             // check if the object got completed by this commit
             $object_completed = false;
             if (strpos(strtolower($match_data['0']), 'complete') !== false) {
                 $object_completed = true;
                 unset($match_data['0']);
                 $match_data = array_values($match_data);
             }
             // if
             $object_class_name = $match_data['0'];
             $module_name = Inflector::pluralize($object_class_name);
             $object_id = trim($match_data['1'], '#');
             $search[$i] = $match;
             if (class_exists($module_name) && class_exists($object_class_name)) {
                 $object = null;
                 switch (strtolower($module_name)) {
                     case 'tickets':
                         $object = Tickets::findByTicketId($project, $object_id);
                         break;
                     case 'discussions':
                         $object = Discussions::findById($object_id);
                         break;
                     case 'milestones':
                         $object = Milestones::findById($object_id);
                         break;
                     case 'tasks':
                         $object = Tasks::findById($object_id);
                         break;
                 }
                 // switch
                 if (instance_of($object, $object_class_name)) {
                     $link_already_created = CommitProjectObjects::count("object_id = '" . $object->getId() . "' AND revision = '{$revision}'") > 0;
                     if (!$link_already_created) {
                         $comit_project_object = new CommitProjectObject();
                       

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP purl函数代码示例发布时间:2022-05-15
下一篇:
PHP purify函数代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap