小编Cas*_*sie的帖子

PHP,SimpleXML,解码CDATA中的实体

我遇到以下行为:

$xml_string1 = "<person><name><![CDATA[ Someone&#039;s Name ]]></name></person>";
$xml_string2 = "<person><name> Someone&#039;s Name </name></person>";

$person = new SimpleXMLElement($xml_string1);
print (string) $person->name; # Someone&#039;s Name

$person = new SimpleXMLElement($xml_string2);
print (string) $person->name; # Someone's Name

$person = new SimpleXMLElement($xml_string1, LIBXML_NOCDATA);
print (string) $person->name; # Someone&#039;s Name
Run Code Online (Sandbox Code Playgroud)

php文档说NOCDATA"将[CD] CDATA合并为文本节点".对我来说,这意味着CDATA将被视为与文本节点相同 - 或者第三个示例的行为现在将与第二个示例相同.

我无法控制XML(它是来自外部源的提要),否则我只是删除CDATA标记,因为它什么也不做,并且破坏了我想要的行为.

为什么上面的例子表现得如此?有没有办法让SimpleXML以与处理文本节点相同的方式处理CDATA节点?"合并CDATA作为文本节点"实际上做了什么,因为我似乎不理解该选项?

在我提取数据之后,我正在解码,但上面的例子对我来说仍然没有意义.

php xml simplexml cdata libxml2

6
推荐指数
1
解决办法
8621
查看次数

如何逃避Rails中的空白?

我知道rails会自动转义像'<'或'&'这样的字符,但这对于彼此相邻的多个空格没有任何作用.我想逃避一切,包括空间.

我明白通常你不想使用&nbsp;,你应该使用css代替.但是,我正在尝试接受用户输入并显示它,因此css不可行.

例如,我有用户输入:    test    .当我<%=@user_input%>在视图中显示它时,额外的空格显示为单个空格(尽管它在源中正确显示).

有没有一个简单的方法来逃避空白?我应该使用h @user_input然后替换所有空格吗?

whitespace escaping ruby-on-rails html-entities ruby-on-rails-3

4
推荐指数
1
解决办法
2567
查看次数

加入中容易交替的分隔符

我有一个像这样的元组列表(字符串是填充...我的实际代码具有未知的值):

list = [
  ('one', 'two', 'one'),
  ('one', 'two', 'one', 'two', 'one'),
  ('one', 'two', 'one', 'two', 'one', 'two', 'one'...)
]
Run Code Online (Sandbox Code Playgroud)

我想在<strong> </strong>标签中包装每个其他字符串(在此示例中为"两个"字符串).我无法做到令人沮丧,'<strong>'.join(list)因为其他人都没有/.这是我能想到的唯一方法,但是使用旗帜困扰着我...而且我似乎无法在谷歌机器上找到关于这个问题的任何其他内容.

def addStrongs(tuple):
  flag = False
  return_string = ""
  for string in tuple:
    if flag :
      return_string += "<strong>"
    return_string += string
    if flag :
      return_string += "</strong>"
    flag = not flag
  return return_string

formatted_list = map(addStrongs, list)
Run Code Online (Sandbox Code Playgroud)

我很抱歉,如果这是错误的,我仍然是python的新手.有一个更好的方法吗?我觉得这在其他方面也很有用,就像添加左/右引号一样.

python string delimiter implode

3
推荐指数
2
解决办法
171
查看次数